# Jpa-sharding-jdbc
**Repository Path**: dingjunjun_codeSpace/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**: 2022-10-13
- **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数据,本地没有搭建主从环境(简化,不是本次关注的重点)