前言:
今天来聊下 SpringBoot 集成 Sharding-JDBC 实现分库分表;为此写了一个小Demo,这个Demo是基于SpringBoot,并集成了 Mybatis、Redis、Swagger(生成在线的接口文档 )、PageHelper(分页工具) 等,当然绝对也集成了 Sharding-JDBC ;以及设计了 RestFul 风格的接口 ,添加了 单元测试 。
下面简单介绍下本文的主线:
①、首先介绍下Demo的工程目录,并且介绍下使用的基本环境,如:sql、工程的pom.xml等
②、然后会着重介绍 SpringBoot 集成 Sharding-JDBC 的过程,及 Sharding-JDBC 基本知识 和 注意事项。
1、项目信息描述:
完整项目在gitHub,地址: https://github.com/leishen6/S...
如有需要请自己去 giHub 上拉取代码进行查阅,由于本人水品有限,如有问题请留言提出,谢谢!
Demo详解:
1、工程目录:
2、工程环境:
2.1、pom.xml :
org.springframework.boot
spring-boot-starter-parent
2.0.6.RELEASE
UTF-8
1.7
1.2.0
5.1.39
1.2.41
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-redis
1.4.7.RELEASE
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-devtools
true
org.springframework.boot
spring-boot-starter-test
test
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.0.1
mysql
mysql-connector-java
com.alibaba
druid-spring-boot-starter
1.1.16
com.alibaba
fastjson
${fastjson}
io.springfox
springfox-swagger-ui
2.9.2
io.springfox
springfox-swagger2
2.9.2
com.github.pagehelper
pagehelper
4.1.6
junit
junit
4.10
org.apache.shardingsphere
sharding-jdbc-spring-boot-starter
4.0.0-RC1
cn.hutool
hutool-setting
5.2.4
注意:pom.xml 的内容最好不要改动了,因为如果将里面的一些 依赖版本变动了 ,可能会导致依赖版本兼容性问题出现,最终导致程序运行失败。
2.2、sql 环境:
①、数据库使用的 Mysql,Demo程序运行前需要提前创建好数据库,由于使用了分库分表,所以需要创建两个库; 数据库名:springboot0、springboot1 。
②、在 springboot0 数据库中执行下面的sql语句创建表:
DROP TABLE IF EXISTS `t_role`;
CREATE TABLE `t_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`role_name` varchar(128) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- -------