# spring-boot-mybatis-rw **Repository Path**: mirrors/spring-boot-mybatis-rw ## Basic Information - **Project Name**: spring-boot-mybatis-rw - **Description**: spring-boot-mybatis-rw 基于mybatis,springboot开箱即用的读写分离插件 Quick Start 介绍 此插件由以下2部分组成 datasour - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/spring-boot-mybatis-rw - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 6 - **Created**: 2017-08-22 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: spring-boot-ext **Tags**: None ## 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=123456 spring.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)