springboot配置多数据源及示例分享

戚薇 Docker 发布时间:2023-06-19 22:04:14 阅读数:12753 1
下文笔者讲述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);
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/docker/202306/6843.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者