springboot集成@DS注解实现数据源切换的方法示例
作者:后台小白鼠 时间:2021-11-18 11:30:00
启用@DS实现数据源切换
POM内添加核心jar包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
yml配置
spring:
datasource:
#配置hikari连接池
hikari:
minimum-idle: 4
maximum-pool-size: 16
connection-timeout: 10000
idle-timeout: 30000
connection-init-sql: set names utf8mb4
#动态数据源配置
dynamic:
#主数据源,默认启用
primary: business
datasource:
#数据源1
business:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_business?useUnicode=true&characterEncoding=utf-8
username: ****
password: ****
#数据源2
user:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_user?useUnicode=true&characterEncoding=utf-8
username: ****
password: ****
#数据源3
order:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_order?useUnicode=true&characterEncoding=utf-8
username: ****
password: ****
“核心”-使用@DS注解
使用@DS注解的核心是什么呢?
1.注解添加在dao.mapper上无效
2.注解添加到interface Service类上无效
3.注解添加到interface Service方法上无效
那么,此注解应该如何使用呢?
添加@DS注解到实现类或者实现类的方法上才可以
当注解添加到类上,意味着此类里的方法都使用此数据源;
当注解添加到方法上时,意味着此方法上使用的数据源优先级高于其他一切配置
@Service
@DS("slave")
public class UserServiceImpl implements UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
public List<Map<String, Object>> selectAll() {
return jdbcTemplate.queryForList("select * from user");
}
@Override
@DS("slave_1")
public List<Map<String, Object>> selectByCondition() {
return jdbcTemplate.queryForList("select * from user where age >10");
}
最后
来源:https://blog.csdn.net/weixin_43975867/article/details/117250634
标签:springboot,@DS注解,数据源切换
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
一文带你彻底理解Java序列化和反序列化
2021-12-23 05:24:12
C#利用com操作excel释放进程的解决方法
2022-08-02 07:01:28
Spring Boot集成MyBatis实现通用Mapper的配置及使用
2023-07-03 18:17:10
Java中线程的等待与唤醒_动力节点Java学院整理
2023-07-17 04:03:05
![](https://img.aspxhome.com/file/2023/4/57694_0s.png)
flutter实现扫码枪获取数据源禁止系统键盘弹窗示例详解
2023-07-23 01:52:41
![](https://img.aspxhome.com/file/2023/0/96760_0s.webp)
C#(.net)水印图片的生成完整实例
2022-05-06 07:05:30
java 设计模式之单例模式
2021-10-07 22:00:46
.net实现裁剪网站上传图片的方法
2021-09-24 01:41:05
C#自定义RSA加密解密及RSA签名和验证类实例
2023-08-08 17:48:11
C#动态生成DropDownList执行失败原因分析
2023-08-30 22:37:28
Java实现求解一元n次多项式的方法示例
2022-08-24 09:03:33
![](https://img.aspxhome.com/file/2023/0/64790_0s.png)
Android 全屏无标题栏的三种实现方法
2022-01-05 03:01:31
C++封装静态链接库和使用的详细步骤
2021-08-28 00:54:13
![](https://img.aspxhome.com/file/2023/0/112290_0s.jpg)
分享实现Android图片选择的两种方式
2023-06-28 05:09:27
Java中的字符串常量池详细介绍
2023-03-08 09:16:41
浅谈spring security入门
2023-02-20 04:48:58
![](https://img.aspxhome.com/file/2023/2/63782_0s.png)
用C# 实现鼠标框选效果的实现代码
2023-04-18 14:08:26
SpringBoot常用注解详细整理
2022-12-15 18:53:01
![](https://img.aspxhome.com/file/2023/3/75763_0s.jpg)
android跑马灯出现重复跳动以及不滚动问题的解决方法
2023-07-24 00:33:48
C#实战之备忘录的制作详解
2023-08-13 02:17:21
![](https://img.aspxhome.com/file/2023/8/116638_0s.jpg)