SpringBoot整合Mybatis和ShardingJDBC实现分库分表

该博客详细介绍了如何利用SpringBoot、Mybatis和ShardingJDBC进行数据库分库分表操作。通过一个商品表(good)的实例,演示了基于id和good_type的分库分表策略。文章涵盖了创建数据库、配置数据源、编写测试代码等步骤,并展示了测试结果。
摘要由CSDN通过智能技术生成
案例描述

通过一个简单的案例实现SpringBoot+Mybatis+ShardingJdbc分库分表实践

通过商品表(good)进行演示:最简单的good表有三个属性:id,good_name, good_type

  1. 根据id进行分库,当id<=20时使用database0,id>20时,使用database1
  2. 根据good_type进行分表:当good_type为偶数时,使用good_0,当good_type为奇数时,使用good_1
创建数据库

通过MySQL进行相应代码展示:

create database database0;
use database0;
create table `good_0`(
    id bigint(20) primary key ,
    good_name varchar(64) COLLATE utf8_bin default '',
    good_type bigint(20) default 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
create table `good_1`(
                         id bigint(20) primary key ,
                         good_name varchar(64) COLLATE utf8_bin default '',
                         good_type bigint(20) default 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

create database database1;
use database1;
create table `good_0`(
                           id bigint(20) primary key ,
                           good_name varchar(64) COLLATE utf8_bin default '',
                           good_type bigint(20) default 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
create table `good_1`(
                         id bigint(20) primary key ,
                         good_name varchar(64) COLLATE utf8_bin default '',
                         good_type bigint(20) default 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

以下为项目演示

引入pom文件
<!-- SpringBoot -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
    <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!-- MyBatis -->
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值