`

shardingjdbc读写分离

 
阅读更多

sharding-jdbc简介

现已更名为: sharding-sphere,官方网址如下 https://shardingsphere.apache.org/document/current/cn/overview/ 简单来说,最主要的可以做以下事情: 1.数据库读写分离 2.数据库分库分表 3.分布式事务 在今天的DEMO中, 我们一起来用shard-sphere来做数据库的读写分离 主要需要以下几步: 1.准备主从的数据库, 参考文章: https://www.javastudy.cloud/articles/2019/11/14/1573693221155.html 2.在springboot工程中,引入相应的mybatis和shard-spere的依赖 3.编写测试类

springboot+sharding-jdbc+HikariCP+mybatis做读写分离

添加依赖

implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.1'
runtimeOnly 'mysql:mysql-connector-java'
// 这里多了一个shardingsphere的依赖
compile group: 'org.apache.shardingsphere', name: 'sharding-jdbc-spring-boot-starter', version: '4.0.0-RC3'

添加springboot的配置

# 这里我们有一主一从
spring.shardingsphere.datasource.names=master,slave0

# 主库的配置
spring.shardingsphere.datasource.master.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
spring.shardingsphere.datasource.master.jdbcUrl=jdbc:mysql://localhost:33309/tools
spring.shardingsphere.datasource.master.username=root
spring.shardingsphere.datasource.master.password=javastudy

# 从库的配置
spring.shardingsphere.datasource.slave0.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave0.driver-class-name=com.mysql.cj.jdbc.Driver
spring.shardingsphere.datasource.slave0.jdbcUrl=jdbc:mysql://localhost:33308/tools
spring.shardingsphere.datasource.slave0.username=root
spring.shardingsphere.datasource.slave0.password=javastudy

# sharding-jdbc本身的一些配置
spring.shardingsphere.masterslave.name=ms
spring.shardingsphere.masterslave.master-data-source-name=master
spring.shardingsphere.masterslave.slave-data-source-names=slave0

spring.shardingsphere.props.sql.show=true

这里要注意, 主库和从库配置的第一行, datasource.master.type 这里, 要写HikariDataSource, 这样就可以使用HikariCP了 然后平常hikariCP和Mybatis的配置照常配置就可以了, 但是不在需要spring.datasource.url,spring.datasource.username这些配置了

编写测试类

mybatis的mapper还是按原来的写法写, 然后我们使用autowire进行注入

   @Autowired
    private ArticleMapper articleMapper;

    @Test
    public void testDataSource(){

        List<ArticleDO> articleDOS = articleMapper.listArticles(new ArticleQC());
        System.out.println(articleDOS);
    }

运行单元测试,可通过日志看出使用了hikariCP+sharding-jdbc

分享到:
评论

相关推荐

    ShardingJDBC5.1.1按月分库分表、读写分离、自动创表完整demo

    《使用ShardingJDBC5.1.1实现按月分库分表、读写分离与自动创表的全面实战》 在现代企业级应用中,数据量的快速增长使得数据库的性能优化成为至关重要的环节。ShardingJDBC作为一款轻量级的Java框架,能够有效地...

    详解Spring Boot中整合Sharding-JDBC读写分离示例

    &lt;groupId&gt;io.shardingjdbc &lt;artifactId&gt;sharding-jdbc-spring-boot-starter &lt;version&gt;2.0.0.M3 ``` 然后,在 application.properties 文件中配置数据源和读写分离策略: ```properties server.port=8084 ...

    springboot集成shardingJDBC实现读写分离demo工程【天天打码,天天进步】

    springboot集成shardingJDBC实现读写分离demo工程,亲测可用 使用方式见博客:https://maoqizhi.blog.csdn.net/article/details/123149268?spm=1001.2014.3001.5502

    使用sharding-jdbc快速实现自动读写分离-demo源码

    在这个“使用sharding-jdbc快速实现自动读写分离-demo源码”中,我们将探讨如何利用Sharding-JDBC实现这一功能。 首先,我们需要理解Sharding-JDBC的基本原理。Sharding-JDBC作为一个数据库中间件,工作在JDBC层,...

    sharding-jdbc 分库分表示例

    sjdbc-read-write-springboot:Spring Boot版 Sharding JDBC 读写分离示列 sjdbc-db-sharding-springboot:Spring Boot版 Sharding JDBC 垂直拆分(不同的表在不同的库中) sjdbc-db-read-write-sharding-...

    Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现分库分表+读写分离.docx

    Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现分库分表+读写分离 Sharding-JDBC是阿里巴巴开源的关系型数据库中间件,提供了数据库分库分表、读写分离、数据库路由等功能。本教程将指导读者使用Sharding-...

    springboot+shardingjdbc+hikari+jpa+KingbaseES V8R6

    1:多租户系统集成 2:集成shardingjdbc分库分表 3:集成shardingjdbc读写分离 4:集成人大金仓数据库 5:重写了JPA-saveandflush方法 6:修复了JPA更新数据为null的问题 7:解压后导入idea,创建数据库即可运行测试

    shardingJdbc功能代码

    为了提高数据库的读写性能,ShardingJDBC支持读写分离。它可以配置主库和从库,自动将读操作路由到从库,写操作则发送到主库,减轻了主库的压力。 **7. 分布式事务** 尽管ShardingJDBC不支持全局事务,但它提供了两...

    springmvc4.3+mysql5.6+shardingjdbc1.4

    《构建高性能分布式数据库系统:基于SpringMVC 4.3、MySQL 5.6与ShardingJDBC 1.4》 在当前的互联网时代,高性能、高可用、可扩展的数据库系统对于企业级应用至关重要。本文将深入探讨如何利用SpringMVC 4.3、MySQL...

    3 Sharding-JDBC读写分离.pdf

    Sharding-JDBC是一款开源的分布式JDBC层框架,它可以提供分库分表、读写分离、分布式主键、数据分片等功能。读写分离是一种数据库扩展方案,通过将写操作和读操作分开到不同的服务器来提高性能,让主服务器专门负责...

    sharding jdbc 基于java代码的配置.zip

    同时,它还提供了读写分离、事务管理、SQL解析等功能,帮助构建高性能的分布式数据库系统。 在实际使用中,还需要注意以下几点: - SQL兼容性:虽然Sharding-JDBC尽力保持SQL兼容性,但某些复杂的SQL可能无法在...

    Sharding-JDBC实现读写分离demo

    在这个“Sharding-JDBC实现读写分离demo”中,我们将深入探讨如何利用Sharding-JDBC来构建一个简单的读写分离系统。 首先,我们需要了解读写分离的基本概念。在高并发的Web应用中,为了保证数据的一致性和服务的...

    spring boot整合sharding jdbc5.2.0分库分表demo

    它提供了一种透明化的数据分片、读写分离和分布式事务处理能力。在本案例中,我们将关注Sharding-JDBC,它是Java的轻量级JDBC驱动,无需额外中间件,只需在现有架构上通过jar包引入即可实现分库分表功能。 ### 2. ...

    Sharding-JDBC教程:Spring Boot整合Sharding-JDBC实现读写分离.docx

    ### Sharding-JDBC 教程:Spring Boot 整合 Sharding-JDBC 实现读写分离 #### 一、Sharding-JDBC 和 Spring Boot 的简介 **Sharding-JDBC** 是阿里巴巴开源的一个轻量级 Java 框架,主要用于对数据库进行分片、...

    springboot-mybatisplus-shardingjdbc.zip

    本项目"springboot-mybatisplus-shardingjdbc"正是一个针对这一需求的集成学习案例,它结合了SpringBoot的轻量级框架优势,MyBatisPlus的便捷数据库操作,以及Sharding-JDBC的数据分片功能,旨在提供一种高效、可...

    ShardingJDBC-Demo

    在实际应用中,还需要考虑如事务一致性、读写分离、数据冗余和备份等更多问题,但ShardingJDBC已经为此提供了相应的解决方案,比如分布式事务的支持和读写分离的配置。总的来说,“ShardingJDBC-Demo”是一个很好的...

    springboot整合sharding-jdbc完整代码

    SpringBoot整合Sharding-JDBC是将Sharding-JDBC这一分布式数据库中间件与SpringBoot框架结合,以实现数据分片、读写分离等高级数据库管理功能。这个完整的代码示例覆盖了Sharding-JDBC的主要技术点,使开发者可以...

    基于yml 配置方式 ,实现springBoot+sharding-jdbc+mybatis-plus 实现分库分表,读写分离,以及全局表,子表的配置

    1、基于yml 配置方式 ,实现springBoot+sharding-jdbc+mybatis-plus 实现分库分表,读写分离,以及全局表,子表的配置。 2、实现mybatis-plus 整合到springboot 详细使用请看 测试用例

    sharding-jdbc按月分表样例

    Sharding-JDBC是阿里巴巴开源的一款轻量级的数据库中间件,它无需额外的服务部署,可以直接嵌入到Java应用中,提供数据库分片、读写分离等功能。 【描述】中的"按月动态分表"是指根据时间字段(如订单日期)将数据...

    springmvc4.3+mysql5.6+shardingjdbc2.0.3

    3. 支持读写分离:自动将读操作导向从库,写操作导向主库,提高系统性能。 4. 分布式事务支持:提供了基于X/Open XA的分布式事务解决方案。 5. 兼容性:ShardingJDBC作为一个JDBC驱动,兼容各种ORM框架,如MyBatis。...

Global site tag (gtag.js) - Google Analytics