Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

基于mybatis,springboot开箱即用的读写分离插件

License

NotificationsYou must be signed in to change notification settings

chenlei2/spring-boot-mybatis-rw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 

Repository files navigation

基于mybatis,springboot开箱即用的读写分离插件

Quick Start

Maven dependency

<dependency>  <groupId>com.github.chenlei2</groupId>  <artifactId>spring-boot-mybatis-rw-starter</artifactId>  <version>0.0.1.releases</version></dependency>

介绍

此插件由以下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-8spring.mybatis.rw.readDataSources[0].driverClassName=com.mysql.jdbc.Driverspring.mybatis.rw.readDataSources[0].username=rootspring.mybatis.rw.readDataSources[0].password=123456spring.mybatis.rw.readDataSources[1].url=jdbc:MySql://localhost:3306/test?characterEncoding=UTF-8spring.mybatis.rw.readDataSources[1].driverClassName=com.mysql.jdbc.Driverspring.mybatis.rw.readDataSources[1].username=rootspring.mybatis.rw.readDataSources[1].password=123456spring.mybatis.rw.writeDataSource.url=jdbc:MySql://localhost:3306/chenlei?characterEncoding=UTF-8spring.mybatis.rw.writeDataSource.driverClassName=com.mysql.jdbc.Driverspring.mybatis.rw.writeDataSource.username=rootspring.mybatis.rw.writeDataSource.password=123456

XML配置

  • datasource:
<!--简单的一个master和多个slaver 读写分离的数据源 --><bean   >    <property name="writeDataSource" ref="writeDS"/>    <property name="readDataSoures">        <list>            <ref bean="readDS"/>            <ref bean="readDS"/>            <ref bean="readDS"/>        </list>    </property></bean><bean><constructor-arg ref="roundRobinRWDataSourceRout"/></bean>

总结

只需替换数据源,其他配置不变,便实现读写分离,对代码0入侵,配置简单,非常方便老项目的迁移。详细配置

About

基于mybatis,springboot开箱即用的读写分离插件

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp