开源软件名称:mybatis-subtable
开源软件地址:https://gitee.com/xujian_jason/mybatis-subtable
开源软件介绍:
mybatis-subtableMyBatis分表插件,对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 注解 @SubTableIgnoreList<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测试修改
mybatis-config.xml 数据库配置信息,测试类:org.jwxa.mybatis.subtable.test.DeviceDaoTest - 运行Spring-MyBatis测试修改
jdbc.properties 数据库配置信息,测试类:org.jwxa.mybatis.subtable.test.spring.UserDaoTest |
请发表评论