# Jpa-sharding-jdbc
**Repository Path**: pp6688/jpa-sharding-jdbc
## Basic Information
- **Project Name**: Jpa-sharding-jdbc
- **Description**: jpa-sharding-jdbc
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-08-30
- **Last Updated**: 2022-10-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Jpa-sharding-jdbc
Sharding-jdbc
## 准备工作
* 6个mysql数据库
* master1 => slave1,slave2
* master2 => slave3,slave4
* 一个表
* c_order
### DDL
* master1
* slave1
* slave2
* master2
* slave3
* slave4
```sql
CREATE TABLE `c_order` (
`id` BIGINT ( 20 ) not null auto_increment,
`is_del` bit ( 1 ) not null default 0 comment '是否被删除',
`user_id` int(11) not null comment '用户id',
`company_id` int(11) not null comment '公司id',
`publish_user_id` int(11) not null comment '公司id',
`position_id` int(11) not null comment '职位id',
`resume_type` int(2) not null default 0 comment '简历类型:0附件 1在线',
`status` VARCHAR ( 256 ) NOT NULL COMMENT '投递状态 投递状态 WAIT-待处理 AUTO_FILTER-⾃动过滤 PREPARE_CONTACT-待沟通 REFUSE-拒绝 ARRANGE_INTERVIEW-通知⾯试',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NOT NULL COMMENT '处理时间',
PRIMARY KEY ( `id` ),
KEY `index_userId_positionId` ( `user_id`, `position_id` ),
KEY `idx_userId_operateTime` ( `user_id`, `update_time` )
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4;
```
### 引入sharding-jdbc
### 导入核心pom
#### parent
```xml
8
8
UTF-8
4.1.0
2.2.5.RELEASE
org.springframework.boot
spring-boot-starter-jdbc
${springboot.version}
org.springframework.boot
spring-boot-starter-data-jpa
${springboot.version}
org.springframework.boot
spring-boot-starter-test
${springboot.version}
test
mysql
mysql-connector-java
5.1.48
org.apache.shardingsphere
sharding-jdbc-spring-boot-starter
${shardingsphere.version}
org.apache.maven.plugins
maven-compiler-plugin
8
8
8
8
3.8.1
```
#### module
```xml
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-test
test
mysql
mysql-connector-java
org.apache.shardingsphere
sharding-transaction-xa-core
4.0.0-RC2
org.apache.shardingsphere
sharding-jdbc-spring-boot-starter
```
## 实现步骤
* 准备6个库
* 执行TestMasterSlave.testAdd
* 执行TestMasterSlave.testSearch
* 执行前,手动模拟master => slave数据,本地没有搭建主从环境(简化,不是本次关注的重点)