https://github.com/chenlei2/spring-boot-mybatis-rw
基于mybatis,springboot开箱即用的读写分离插件
https://github.com/chenlei2/spring-boot-mybatis-rw
datasource java mybatis read-write-separation read-write-splitting spring-boot-mybatis transaction
Last synced: 21 days ago
JSON representation
基于mybatis,springboot开箱即用的读写分离插件
- Host: GitHub
- URL: https://github.com/chenlei2/spring-boot-mybatis-rw
- Owner: chenlei2
- License: apache-2.0
- Created: 2016-07-03T11:12:02.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-04-22T17:34:21.000Z (about 4 years ago)
- Last Synced: 2025-03-16T18:56:30.869Z (2 months ago)
- Topics: datasource, java, mybatis, read-write-separation, read-write-splitting, spring-boot-mybatis, transaction
- Language: Java
- Size: 157 KB
- Stars: 339
- Watchers: 45
- Forks: 151
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# spring-boot-mybatis-rw
基于mybatis,springboot开箱即用的读写分离插件# Quick Start
Maven dependency
---
```com.github.chenlei2
spring-boot-mybatis-rw-starter
0.0.1.releases```
介绍
---
此插件由以下2部分组成
- datasource:读写数据源的代理,支持一写多读,用户只需实现 com.github.chenlei2.springboot.mybatis.rw.starter.datasource.AbstractReadRoutingDataSource这个类,实现自己读数据源的负载均衡算法,默认实现com.github.chenlei2.springboot.mybatis.rw.starter.datasource.impl.RoundRobinRWDataSourceRout
- pulgin:mybatis插件实现读写路由@Transactional(isolation = Isolation.SERIALIZABLE) 强制本事务都走写库,插件会把事务隔离级别修改为默认隔离级别
spring-boot 配置
---
```
spring.mybatis.rw.readDataSources[0].url=jdbc:MySql://localhost:3306/test?characterEncoding=UTF-8
spring.mybatis.rw.readDataSources[0].driverClassName=com.mysql.jdbc.Driver
spring.mybatis.rw.readDataSources[0].username=root
spring.mybatis.rw.readDataSources[0].password=123456
spring.mybatis.rw.readDataSources[1].url=jdbc:MySql://localhost:3306/test?characterEncoding=UTF-8
spring.mybatis.rw.readDataSources[1].driverClassName=com.mysql.jdbc.Driver
spring.mybatis.rw.readDataSources[1].username=root
spring.mybatis.rw.readDataSources[1].password=123456spring.mybatis.rw.writeDataSource.url=jdbc:MySql://localhost:3306/chenlei?characterEncoding=UTF-8
spring.mybatis.rw.writeDataSource.driverClassName=com.mysql.jdbc.Driver
spring.mybatis.rw.writeDataSource.username=root
spring.mybatis.rw.writeDataSource.password=123456
```XML配置
---
- datasource:
```
```总结
---
只需替换数据源,其他配置不变,便实现读写分离,对代码0入侵,配置简单,非常方便老项目的迁移。
[详细配置](https://github.com/chenlei2/spring-boot-mybatis-rw/blob/master/spring-boot-mybatis-rw/mybatis-rw-sample-xml/src/main/resources/spring-mybatis.xml)