时间:2021-05-19
在我《Spring Cloud微服务-全栈技术与案例解析》书中,第18章节分库分表解决方案里有对Sharding-JDBC的使用进行详细的讲解。
之前是通过XML方式来配置数据源,读写分离策略,分库分表策略等,之前有朋友也问过我,有没有Spring Boot的方式来配置,既然已经用Spring Boot还用XML来配置感觉有点不协调。
其实吧我个人觉得只要能用,方便看,看的懂就行了,mybatis的SQL不也是写在XML中嘛。
今天就给大家介绍下Spring Boot方式的使用,主要讲解读写分离的配置,其余的后面再介绍。
所谓的Spring Boot方式就是直接可以通过属性文件或者YAML文件来配置上面我们提到的那些信息。
主要还是用shardingjdbc提供的starter,配置如下:
<dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>2.0.0.M3</version></dependency>配置内容如下:
server.port=8084mybatis.config-location=classpath:META-INF/mybatis-config.xmlsharding.jdbc.datasource.names=ds_master,ds_slave# 主数据源sharding.jdbc.datasource.ds_master.type=com.alibaba.druid.pool.DruidDataSourcesharding.jdbc.datasource.ds_master.driver-class-name=com.mysql.jdbc.Driversharding.jdbc.datasource.ds_master.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8sharding.jdbc.datasource.ds_master.username=rootsharding.jdbc.datasource.ds_master.password=123456# 从数据源sharding.jdbc.datasource.ds_slave.type=com.alibaba.druid.pool.DruidDataSourcesharding.jdbc.datasource.ds_slave.driver-class-name=com.mysql.jdbc.Driversharding.jdbc.datasource.ds_slave.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8sharding.jdbc.datasource.ds_slave.username=rootsharding.jdbc.datasource.ds_slave.password=123456# 读写分离配置sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robinsharding.jdbc.config.masterslave.name=dataSourcesharding.jdbc.config.masterslave.master-data-source-name=ds_mastersharding.jdbc.config.masterslave.slave-data-source-names=ds_slave查询时的负载均衡算法,目前有2种算法,round_robin(轮询)和random(随机),算法接口是io.shardingjdbc.core.api.algorithm.masterslave.MasterSlaveLoadBalanceAlgorithm。实现类有RandomMasterSlaveLoadBalanceAlgorithm和RoundRobinMasterSlaveLoadBalanceAlgorithm。
主数据源名称
从数据源名称,多个用逗号隔开
就是这么简单,整个流程结束,下面就是写代码测试读写分离的效果了,我这边用的mybatis,代码在我的Github上,文章中就不贴出来了,大家都会。
参考代码:https://github.com/yinjihuan/spring-cloud/tree/master/fangjia-sjdbc-read-write-springboot
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、Sharding-jdbc简介“Sharding-jdbc是开源的数据库操作中间件;定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客
MySQL读写分离MySQL读写分离又一好办法使用com.mysql.jdbc.ReplicationDriver在用过Amoeba和Cobar,还有dbwar
spring整合JDBCspring提供了很多模板整合Dao技术ORM持久化技术模板类JDBCorg.springframework.Jdbc.core.Jdb
前期工作1.导入mybatis整合依赖org.mybatis.spring.bootmybatis-spring-boot-starter2.1.42.连接数据
本文介绍了SpringBoot+MyBatis读写分离,有需要了解Spring+MyBatis读写分离的朋友可参考。希望此文章对各位有所帮助。其最终实现功能:默