栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot+mysql读写分离(二)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot+mysql读写分离(二)

本文上接前文,分析通过sharding的方式实现读写分离。
通过sharding数据库中间件实现读写分离,废话不说,直接上代码。

maven部分依赖


            org.springframework.boot
            spring-boot-starter-web
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        

        
            mysql
            mysql-connector-java
            runtime
        
        
        
            org.apache.shardingsphere
            sharding-jdbc-spring-boot-starter
            4.1.1
        
        
        
            com.alibaba
            druid
            1.2.8
        

Student实体类及mapper类

@Data
public class Student {

    private int id;

    private int num;

    private String name;

}
public interface StudentMapper {

    int insert(Student student);

    List findAll();

    List findBy(Student student);
}



    
        INSERT INTO student(num,name) VALUES(#{num},#{name})
    

    
        select * from student
    

    

核心配置,application.yml

server:
  port: 9002
spring:
  application:
    # 读写分离
    name: sharding-masterslave
  # 数据源名称,多数据源以逗号分隔
  shardingsphere:
    datasource:
      names: ds0,ds1
      # 数据源ds0
      ds0:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/write
        username: root
        password: 
        driver-class-name: com.mysql.cj.jdbc.Driver
      # 数据源ds1
      ds1:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/read1
        username: root
        password: 
        driver-class-name: com.mysql.cj.jdbc.Driver
      props:
        sql.show: true
    # 读写分离策略
    sharding:
      # 默认
      default-data-source-name: ds0
      master-slave-rules:
        masterslave:
          master-data-source-name: ds0
          slave-data-source-names: ds1

# mybatis,放在resource目录 classpath:/mapper/*.xml
mybatis:
  mapper-locations: classpath:mapper/*.xml

测试结果ok,可自行验证。
可见通过sharding数据库中间件实现读写分离非常快捷方便,后续需要深入理解中间件的底层原理及维护。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号