mysql jdbc 多数据源_springboot+mybatis+sharding-jdbc,多数据源读写分离学习

在springboot+mybatis下用sharding-jdbc做多数据源读写分离是一件特别简单的事情。

在引入pom之后,只需要在application.properties中配置数据库就能自动完成。

pom添加依赖:

io.shardingsphere

sharding-jdbc-spring-namespace

3.1.0

io.shardingsphere

sharding-jdbc-spring-boot-starter

3.1.0

application.properties中配置数据库:

sharding.jdbc.datasource.names=master,slave

# 主数据源

sharding.jdbc.datasource.master.type=com.zaxxer.hikari.HikariDataSource

sharding.jdbc.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver

sharding.jdbc.datasource.master.jdbc-url=jdbc:mysql://192.168.145.132:3306/test?characterEncoding=utf-8

sharding.jdbc.datasource.master.username=root

sharding.jdbc.datasource.master.password=123456

# 从数据源

sharding.jdbc.datasource.slave.type=com.zaxxer.hikari.HikariDataSource

sharding.jdbc.datasource.slave.driver-class-name=com.mysql.cj.jdbc.Driver

sharding.jdbc.datasource.slave.jdbc-url=jdbc:mysql://192.168.145.133:3306/test?characterEncoding=utf-8

sharding.jdbc.datasource.slave.username=root

sharding.jdbc.datasource.slave.password=123456

# 读写分离配置

sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robin

sharding.jdbc.config.masterslave.name=dataSource

sharding.jdbc.config.masterslave.master-data-source-name=master

sharding.jdbc.config.masterslave.slave-data-source-names=slave

以上配置完成后,写操作会自动走主数据源,读操作会自动走从数据源。

操作相当傻瓜化,但是感觉官网文档过于简洁了一些,想要做一些更多的修改,动态修改数据源无从下手。在日志中也没用体现当前使用的哪个数据源,demo写完后我是通过分别关闭主从数据库来得知当前操作使用的哪个数据库。

你可能感兴趣的:(mysql,jdbc,多数据源)