springboot配置多数据源及示例分享
下文笔者讲述SpringBoot下配置多数据源及测试示例
学习完本章之后,你将掌握SpringBoot下配置多数据源的方法,如下所示
学习完本章之后,你将掌握SpringBoot下配置多数据源的方法,如下所示
SpringBoot配置多数据源的实现思路
1.引入相应依赖 dynamic-datasource-spring-boot-starter 2.设置配置文件 3.mapper上使用 @DS 注解 使用以上方式即可实现SpringBoot多数据源的效果例:SpringBoot多数据源的效果分享
pom <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>2.5.6</version> </dependency> 2.application.yml spring: datasource: dynamic: primary: dbdb3 #默认使用的数据源 datasource: dbdb1: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///db1?characterEncoding=utf-8&allowMultiQueries=true username: root password: 1234 dbdb2: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///db2?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull username: root password: 123456 dbdb3: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql:///db3?characterEncoding=utf-8&allowMultiQueries=true username: root password: 1234 server: port: 9999 # mybatis-plus mybatis-plus: mapper-locations: classpath*:mapper/*Mapper.xml type-aliases-package: com.*.*.pojo //在类或方法上标明使用的数据源 //不标明则默认使用 primary: dbdb3 //当没有相应的表则会报错 @Mapper @DS(value = "dbdb2") public interface UserInfoMapper extends BaseMapper<UserInfo> { } //测试 @Autowired private UserInfoMapper userInfoMapper; @Test void test1() { UserInfo userInfo = new UserInfo(); userInfo.setUsername("java265"); userInfo.setPassword("123456"); userInfoMapper.insert(userInfo); } @Service @DS(value = "dbdb1") //如果在mapper上也有@DS则会按mapper上的数据源 public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper,UserInfo> implements UserInfoService { } @Autowired private UserInfoService userInfoService; @Test void test2() { UserInfo userInfo = new UserInfo(); userInfo.setUsername("java265"); userInfo.setPassword("123456"); userInfoService.save(userInfo); }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。