mybatis mysql 分表_Sharding-Jdbc集成mybatis-plus实现分库分表解决方案

项目地址:

官方文档:

一、运行测试Step 1:新建两个数据库分别为seal_sharding、seal_sharding1

Step 2:分别导入db目录下sql文件

Step 3:打开项目,配置环境变量MYSQL_HOST、MYSQL_PORT以及用户名和密码

Step 4:运行测试文件(test包下)

二、租户ID的获取修改config包下MybaitsPlusConfig.java,获取当前登录用户的租户ID,这里默认写1@Override

public Expression getTenantId() {

try {

// 获取当前登录用户租户ID

String tenantId = "1";

if (!StrUtil.isEmpty(tenantId)) {

return new LongValue(tenantId);

}

throw new Exception(RetBack.errorJson(4001, "该租户不存在"));

} catch (Exception e) {

e.printStackTrace();

}

return new LongValue(-1L);

}

三、分库分表策略分库:根据表字段 租户ID(tenant_id) 模2(奇偶数)进行分库

分表:根据表字段 id 去hascode模2(奇偶数)进行发分表,分布式主键采用雪花算法(SNOWFLAKE),详见:Sharding-JD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值