0%

SHARDING-JDBC单片分库分表-余数求膜

1、创建数据库

1
2
create database sharding_0;
create database sharding_1;

接下来我们在两个库中创建相应的数据表,在两个库中分别进行如下SQL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
SET FOREIGN_KEY_CHECKS=0;
— —————————-
— Table structure for t_student_00
— —————————-
DROP TABLE IF EXISTS `t_student_00`;
CREATE TABLE `t_student_00` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`student_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
— —————————-
— Table structure for t_student_01
— —————————-
DROP TABLE IF EXISTS `t_student_01`;
CREATE TABLE `t_student_01` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`student_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
— —————————-
— Table structure for t_user_00
— —————————-
DROP TABLE IF EXISTS `t_user_00`;
CREATE TABLE `t_user_00` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
— —————————-
— Table structure for t_user_01
— —————————-
DROP TABLE IF EXISTS `t_user_01`;
CREATE TABLE `t_user_01` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
— —————————-
— Table structure for t_user_02
— —————————-
DROP TABLE IF EXISTS `t_user_02`;
CREATE TABLE `t_user_02` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

1、创建项目
1.1.配置pom.xml
2.创建数据库映射类
2.1 user类
2.2 student类
3.创建Mapper类
4.创建service类
5.创建service的实现类
6.创建分库逻辑
1.实现单片余数求膜 SingleKeyDatabaseShardingAlgorithm
7.创建分表逻辑
1.实现单片余数求膜 SingleKeyTableShardingAlgorithm
8.创建Mapper.xml
9.创建数据库连接类
10.创建spring配置文件
11.创建log4j.xml
12.、创建测试类ShardingJdbcMybatisTest
列子可以到工具类查看 分库分表实例