苞米豆-多数据源七夕特别版 2.1.0 发布:全面适配 mybatis-plus

来源: 投稿
作者: 小锅盖
2018-08-18 08:54:00

v2.1.0

  • 修复了底层一个逻辑bug。

  • 提供了对mp的原生支持。

  • 底层代码进行了细微的性能优化

https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter

从2.1.0开始提供对mp的集成,在以前的版本你直接调用的方法是mp提供的内置方法,因其不是我们自己的方法不能切换数据源,你会得到一个NP异常。

spring:
  datasource:
    dynamic:
      mp-enabled: true #默认为false,不要随便开启,有微小的性能损失
// 开启后使用mp的内置方法即可注解在类上统一切换数据源,
// 如果想某个方法特殊处理,请自己用一个方法包裹然后注解在该方法上。
@DS("slave")
public interface UserMapper extends BaseMapper<User> {
}

@Service
@DS("slave")
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

一个基于springboot的快速集成多数据源的启动器

简介

dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。

其支持 Jdk 1.7+, SpringBoot 1.4.x 1.5.x 2.0.x

从 2.0.0 开始它适用于多种场景,常见的场景如下。

  • 纯粹多库,各个库甚至可以是不同的数据库。

  • 读写分离,一主多从,多主多从。

  • 混合模式,既有主从也有单库。

约定

  1. 本框架只做 切换数据源 这件核心的事情,并不限制你的具体操作,切换了数据源可以做任何CRUD。

  2. 配置文件所有以下划线 _ 分割的数据源 首部 即为组的名称,相同组名称的数据源会放在一个组下。

  3. 切换数据源即可是组名,也可是具体数据源名称,切换时默认采用负载均衡机制切换。

  4. 默认的数据源名称为 master ,你可以通过spring.datasource.dynamic.primary修改。

  5. 方法上的注解优先于类上注解。

建议

强烈建议在 主从模式 下遵循普遍的规则,以便他人能更轻易理解你的代码。

主数据库 建议 只执行 INSERT UPDATE DELETE 操作。

从数据库 建议 只执行 SELECT 操作。

展开阅读全文
点击加入讨论🔥(1) 发布并加入讨论🔥
1 评论
9 收藏
分享
返回顶部
顶部