代码拉取完成,页面将自动刷新
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();
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);
}
}
src/test/resources/initsql.sql
初始化数据库mybatis-config.xml
数据库配置信息,测试类:org.jwxa.mybatis.subtable.test.DeviceDaoTest
jdbc.properties
数据库配置信息,测试类:org.jwxa.mybatis.subtable.test.spring.UserDaoTest
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。