您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页MyBatis分表分库插件的实现(推荐)

MyBatis分表分库插件的实现(推荐)

来源:保捱科技网

Subtable-Plugin

MyBatis分表插件,对MyBatis代码无侵入,不改变对MyBatis的使用习惯。

使用示例

1、mybatis-config.xml配置文件添加插件

<plugins>
	<plugin interceptor="org.jwxa.mybatis.subtable.plugin.SubTablePlugin" />
</plugins>

2、需要分表的Mapper/Dao类添加@SubTable注解,使用strategyClass指定分表策略类

// LongStrategy:自定义分表策略类
@SubTable(strategyClass=LongStrategy.class)

3、不需要分表的方法添加@SubTableIgnore注解

@SubTableIgnore
List<User> getList();

联系

1、有需要源码的同学,发送“MyBatis分表分库”到1829003685@qq.com 获取

分表策略

  • 自定义分表策略需要实现org.jwxa.mybatis.subtable.strategy.Strategy接口,实现getFinalTable获取最终表名方法。
  • StrategyUtil工具类提供常用分表策略方法。

**使用示例:**使用Long类型id分表,10张分表

// 10张表,用id进行分表
public class LongStrategy implements Strategy {
	@Override
	public String getFinalTable(String baseTableName, Object params) {
		Long flag = -1l;
		if(params instanceof User) {
			flag = ((User)params).getId();
		}else if(params instanceof Long) {
			flag = (Long) params;
		}
		return StrategyUtil.getHashTable(baseTableName, "_", flag, 10);
	}
}

测试示例说明

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务