MyBatis Plus分库分表操作步骤是怎样的?

Mybatis Plus本身不支持分库分表,但可以通过实现插件,结合Mybatis的分库分表功能来实现。
分库分表的大致步骤是:

1、 确定分库分表策略
根据场景需要,制定分库分表的规则。
可以是:

  • 根据ID取模
  • 根据用户分库
  • 根据发布时间分库
  • 等等

2、 实现Mybatis Plus插件
实现Interceptor接口:

public class RouterInterceptor implements Interceptor{

   public Object intercept(Invocation ivk) {

    // 根据分库分表策略路由
    String database = decideDatabase();

    // 切换数据源
    DataSource dataSource = ...
    Transaction tx = ... // 事务管理

       // 执行原操作  
       return ivk.proceed();
   } 
}

在插件方法中:

  • 获取分库分表策略
  • 切换数据源
  • 绑定事务
  • 执行原操作

3、 注册Mybatis Plus插件

<plugins>
  <plugin interceptor="com.itzhimei.RouterInterceptor">
    ... 
  </plugin>
</plugins>

4、 开始使用
按正常过程使用Mybatis Plus就可以自动实现分库分表。

通过这个流程,可以实现Mybatis Plus的分库分表功能:

  • 制定分库分表策略
  • 实现Plugins符合策略
  • 注册Plugins
  • 正常使用Mybatis Plus即可