MyBatis-Plus多数据源支持

通过研究MyBatis-Plus官网

多数据源支持

多数据源支持 | MyBatis-Plus

dynamic-datasource 是一个开源的 Spring Boot 多数据源启动器,提供了丰富的功能,包括数据源分组、敏感信息加密、独立初始化表结构等。

使用方法:

  1. 引入依赖

<!--多个数据源-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.2.0</version>
</dependency>

注意:项目中已经存在的mybatis的依赖需要注释,防止下面的共同存在的mybatis-spring产生冲突

  1. 配置数据源:如

spring.datasource.dynamic.primary=db1
spring.datasource.dynamic.strict=false
spring.datasource.dynamic.datasource.db1.url=jdbc:mysql://localhost:3306/ican?characterEncoding=utf-8&useUnicode=true&serverTimezone=UTC&allowMultiQueries=true
spring.datasource.dynamic.datasource.db1.username=root
spring.datasource.dynamic.datasource.db1.password=123456
spring.datasource.dynamic.datasource.db1.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.dynamic.datasource.db2.url=jdbc:mysql://192.168.21.37:3306/210_bm_inventory?useUnicode=true&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
spring.datasource.dynamic.datasource.db2.username=root
spring.datasource.dynamic.datasource.db2.password=root123
spring.datasource.dynamic.datasource.db2.driver-class-name=com.mysql.cj.jdbc.Driver

一共配置了两个数据源 db1和db2 其中spring.datasource.dynamic.primary=db1配置主数据源为db1(没有注解时默认为主数据源)

spring.datasource.dynamic.strict=false 这个设置的是严格模式,true为开启,false为关闭。

开启@DS(db3) db3并不存在会直接报错,不开启则会采用主数据源进行二次尝试

  1. 使用 @DS 切换数据源:

@Mapper

public interface InventoryDao {
    @PageX
    @DS("db2")
    List<Inventory> select(InventoryQuery query);
    Integer insert(Inventory inventory);
    Integer insertBatch(List<Inventory> inventorys);
    Integer update(Integer id, int optionQty, int version,String lastUpdateBy);
    Integer delete(Integer id);
}

类或者方法上都能加注释,注释括号里可以为组名(也就是2里面配置的db1,db2)也可以为具体某个库的名称。

目前主要用于wms仓储系统直接操作北猫商城里的inventory表。

如果引入不了依赖选择删除maven库中的具体文件夹或者依赖冲突可以选择直接删除总的maven库,或者解决冲突:进入pom

红线的就是有冲突的包

可以根据手动删除依赖、在Plugins下载Maven Helper插件进行解决、或者配置冲突子类不启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这孩子叫逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值