Rumah> Java> javaTutorial> teks badan

Cara menggunakan mybatis-plus untuk mengkonfigurasi berbilang sumber data dalam springboot

王林
Lepaskan: 2023-05-14 12:19:13
ke hadapan
1394 orang telah melayarinya

1. Buat projek springboot kosong

2 Konfigurasikan fail konfigurasi pom.xml, hanya ubah suai kandungan dalam dependensi, yang boleh diganti terus

  org.springframework.boot spring-boot-starter   org.apache.httpcomponents httpclient   cn.hutool hutool-all 5.2.0   com.alibaba fastjson 1.2.9   org.projectlombok lombok true    com.baomidou mybatis-plus-boot-starter 3.4.1    com.baomidou dynamic-datasource-spring-boot-starter 3.2.0    mysql mysql-connector-java runtime 
Salin selepas log masuk

3 sumber

spring: datasource:dynamic: primary: master #指定默认数据库,下面可以配置多个数据库,不仅仅是两个,master就是其中一个数据库的名字,名字对应就可以,自己随便取 datasource:master: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://数据库1ip地址:数据库1端口/数据库1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true username: 数据库1用户 password: 数据库1密码slave: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://数据库2ip地址:数据库2端口/数据库2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true username: 数据库2用户 password: 数据库2密码
Salin selepas log masuk

4 Buat

entiti, pemeta, perkhidmatan, impl baharu yang sepadan

Jika anda perlu menghubungi sumber pangkalan data yang tidak digunakan, anda hanya perlu menggunakan anotasi @DS("nama pangkalan data" dalam impl ) boleh menjadi

Cara menggunakan mybatis-plus untuk mengkonfigurasi berbilang sumber data dalam springboot

5. Tulis pemasa untuk memanggil pertanyaan data, atau anda boleh memanggil pertanyaan data dalam kaedah pertanyaan adalah sama

package com.xyz.dsjy.task;import com.xyz.dsjy.entity.Enterprise;import com.xyz.dsjy.entity.FjflCredit;import com.xyz.dsjy.service.EnterpriseService;import com.xyz.dsjy.service.FjflCreditService;import lombok.AllArgsConstructor;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annotation.EnableScheduling;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.time.LocalDateTime;@AllArgsConstructor@Component@Configuration //1.主要用于标记配置类,兼备Component的效果。@EnableScheduling // 2.开启定时任务public class MultithreadScheduleTask {public final FjflCreditService fjflCrediService; public final EnterpriseService enterpriseService; @Scheduled(fixedRate=5000)private void configureTasks() { FjflCredit fs = fjflCrediService.getById(1); System.out.println(fs); System.err.println("执行静态定时任务时间: " + LocalDateTime.now()); }@Scheduled(fixedRate=6000)private void configureTasks2() { Enterprise et = enterpriseService.getById(80); System.out.println(et); System.err.println("执行静态定时任务时间2222: " + LocalDateTime.now()); } }
Salin selepas log masuk

6 .Ubah suai kelas permulaan @MapperScan("com.xyz.dsjy.mapper") Tambah imbasan pemeta

package com.xyz.dsjy;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication@MapperScan("com.xyz.dsjy.mapper") //添加启动扫mapper包下的mapper类public class DsjyApplication {public static void main(String[] args) { SpringApplication.run(DsjyApplication.class, args); } }
Salin selepas log masuk

7 memerlukan

Cara menggunakan mybatis-plus untuk mengkonfigurasi berbilang sumber data dalam springboot

Pit ditemui:

Pit 1:

Penerangan:

Gagal mengkonfigurasi Sumber Data: 'url atribut ' tidak ditentukan dan tiada sumber data terbenam boleh dikonfigurasikan.

Sebab: Gagal menentukan kelas pemacu yang sesuai

Oleh kerana pom.xml memperkenalkan druid dan dinamik, dan kami menggunakan dinamik, kami hanya perlu memadam pengenalan druid.

Pit 2:
2021-04-08 15:52:53.242 INFO 20108 --- [ utama] com.zaxxer.hikari.HikariDataSource : master - Starting...
2021-04 -08 15:52:54.125 INFO 20108 --- [ utama] com.zaxxer.hikari.HikariDataSource : master - Mula selesai.
2021-04-08 15:52:54.126 INFO 20108 --- [ utama] com .zaxxer.hikari.HikariDataSource : hamba - Bermula...
2021-04-08 15:52:54.942 INFO 20108 --- [ utama] com.zaxxer.hikari.HikariDataSource : hamba - Mula selesai.
08-04-2021 15:52:54.942 INFO 20108 --- [ utama] c.b.d.d.DynamicRoutingDataSource : dynamic-datasource - muatkan sumber data bernama [hamba] kejayaan
2021-04-08 15:94: INFO 42-52: INFO - [ utama] c.b.d.d.DynamicRoutingDataSource : dynamic-datasource - muatkan sumber data bernama [master] success
2021-04-08 15:52:54.943 INFO 20108 --- [ main] c.b.d.d.DynaourSourceDataloaded initial ] datasource,primary

.....
2021-04-08 15:52:54.989 INFO 20108 --- [ main] com.zaxxer.hikari.HikariDataSource : slave - Shutdown dimulakan.. .
2021-04-08 15:52:54.996 INFO 20108 --- [ utama] com.zaxxer.hikari.HikariDataSource : hamba - Penutupan selesai.
2021-04-08 15:516: INFO 54.9098 --- [ utama] com.zaxxer.hikari.HikariDataSource : master - Shutdown dimulakan...
2021-04-08 15:52:55.164 INFO 20108 --- [ main] com.zaxxer .HikariDataSource : induk - Penutupan selesai.
2021-04-08 15:52:55.165 INFO 20108 --- [ utama] c.b.d.d.DynamicRoutingDataSource : dynamic-datasource semua kejayaan tertutup, bye

boleh dilihat bermula Semasa proses , berbilang sumber pangkalan data yang kami konfigurasikan Mula selesai Kemudian kami menghadapi pengecualian dan ditutup semula.
Ini disebabkan oleh pengenalan beberapa pakej balang Mybatis Periksa sama ada fail bom.xml memperkenalkan dua kebergantungan mybatis dan mybatis-plus.

Atas ialah kandungan terperinci Cara menggunakan mybatis-plus untuk mengkonfigurasi berbilang sumber data dalam springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!