mybatis-plus自带读写分离与jasypt加密配置文件

最近加入了一个新的项目组发现他们,配置了主库和从库,发现他们没有通过中间件管理,直接使用mp自带的拦截器.于是自己搞了个测试
一.mp读写分离的原理
启动类注入一个mp的配置bean,自带这个拦截器会根据一个三元运算,去判断走master还是slave
在这里插入图片描述
在这里插入图片描述

1.新建一个一个spring-boot项目导入my jar等基本环境
在这里插入图片描述
2.新建三个数据库,yml配置三个链接库,以及表的crud
在这里插入图片描述在这里插入图片描述
3.业务层实现,分别观察查询和添加数据
在这里插入图片描述
当不断的使用查询时,会发现他在从库里面使用轮询
在这里插入图片描述

在这里插入图片描述
当新增的时候,会发现只会在主库加入数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.多数据源也可以通过@DS的注解,自定义业务具体走哪个库
@DS(value = “数据源名称”)
在这里插入图片描述
5.通过jasypt加密配置文件
①定义一个加密key
②使用ENC()
③java -jar -Djasypt.encryptor.password=‘自己定义的key’ xxx.jar在这里插入图片描述
在这里插入图片描述

MyBatis-Plus 是一个在 MyBatis 基础上进行增强的持久层框架,提供了很多方便开发的功能和工具。关于 MyBatis-Plus读写分离,可以通过配置动态数据源和使用 MyBatis-Plus 提供的注解来实现。 读写分离是指将数据库的读操作和写操作分别在不同的数据库实例上进行,以提高系统的并发能力和性能。在 MyBatis-Plus 中,可以通过使用多个数据源来实现读写分离。 首先,需要配置多个数据源,一个用于读操作,一个用于写操作。可以使用 Spring Boot 提供的配置方式,或者使用 MyBatis-Plus 提供的 DynamicDataSource 动态数据源。 然后,在需要进行读操作的方法上,可以使用 MyBatis-Plus 提供的 @Slave 注解,指定使用读数据源。例如: ```java @Slave public List<User> getUserList() { // ... } ``` 在需要进行写操作的方法上,则不需要特别指定数据源,默认会使用主数据源。 最后,在 MyBatis-Plus配置文件中,需要配置动态数据源的切换策略。可以通过使用 AbstractRoutingDataSource 类来实现切换策略,根据方法上的注解来决定使用哪个数据源。 这样配置之后,当调用带有 @Slave 注解的方法时,MyBatis-Plus 会自动切换到读数据源;调用其他方法时,会使用写数据源。从而实现了读写分离的功能。 需要注意的是,读写分离的配置还涉及到数据库的主从同步和数据一致性等问题,在配置过程中需要综合考虑这些因素。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值