• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mybatis-subtable: MyBatis分表插件

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

mybatis-subtable

开源软件地址:

https://gitee.com/xujian_jason/mybatis-subtable

开源软件介绍:

mybatis-subtable

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注解

@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);	}}

测试示例说明

  1. 执行src/test/resources/initsql.sql初始化数据库
  2. 运行MyBatis测试修改mybatis-config.xml数据库配置信息,测试类:org.jwxa.mybatis.subtable.test.DeviceDaoTest
  3. 运行Spring-MyBatis测试修改jdbc.properties数据库配置信息,测试类:org.jwxa.mybatis.subtable.test.spring.UserDaoTest

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap