瑞吉外卖优化-实现项目的主从复制/ 数据库主从复制怎么应用于项目/Idea项目怎么配置主从复制数据库
创始人
2024-06-02 06:32:02

整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用!

3. 项目实现读写分离

3.1 Sharding-JDBC介绍

Sharding-jdbc定位轻量级Java框架,在Java的JDBC层提供额外服务,使用客户端直连数据库,以Jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。
使用Sharding-jdbc可在程序中轻松实现数据库读写分离。

  • 适用于任何基于JDBC的ORM框架,如MyBatis,JPA,Hibernate,Spring JDBC Template或直接使用jdbc。
  • 支持任何第三方的数据库连接池,如:Druid,C3p0等
  • 支持任意实现JDBC规范的数据库,如MYSQL,Oracle,SQLServer等。

3.2 数据库操作

  • 要是主库里没有项目数据库,直接新建库并执行SQL文件即可
  • 这里由于主库有数据,直接将主库数据转为SQL文件从库再执行

3.3 配置

3.3.1 POM导入坐标

    org.apache.shardingsphere  sharding-jdbc-spring-boot-starter  4.0.0  

3.3.2 配置application.yml

如下:

# 端口号  
server:  port: 8080  #··配置项目所用数据库  
spring:  application:  name: takeAwayDemo  
#  datasource:  
#    driver-class-name: com.mysql.cj.jdbc.Driver  
#    druid:  
#      username: root  
#      password: root  
#    url: jdbc:mysql://localhost:3306/myTakeAway  
#  主从复制数据源配置  shardingsphere:  datasource:  names:  master,slave  
#      主数据源  master:  type: com.alibaba.druid.pool.DruidDataSource  driver-class-name: com.mysql.cj.jdbc.Driver  url: jdbc:mysql://127.0.0.1:3306/myTakeAway  username: root  password: root  
#      主数据源  slave:  type: com.alibaba.druid.pool.DruidDataSource  driver-class-name: com.mysql.cj.jdbc.Driver  url: jdbc:mysql://127.0.0.2:3308/myTakeAway  username: root  password: password  masterslave:  
#      读写分离配置  load-balance-algorithm-type: round_robin #轮询  
#      最终数据源名称  name: dataSource  
#      主数据源名称  master-data-source-name: master  
#      从数据源名称,用,隔开  slave-data-source-names: slave  props:  sql:  show: true  main:  allow-bean-definition-overriding: true  redis:  port: 6379  host: 127.0.0.1  
#    redis一共有16个数据库,索引从0-15  database: 0  cache:  redis:  
#      缓存过期时间  time-to-live: 1800  
mybatis-plus:  configuration:  
#    开启驼峰命名法匹配实体类与数据库表名  map-underscore-to-camel-case: true  log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  
#  全局配置,指定数据库主键类型  global-config:  db-config:  id-type: assign_id  
#文件上传保存本地路径  
fileUpload:  path: D:\javaProgram\myTakeOutImages\  
management:  health:  db:  enabled: false

3.4 启动项目

当启动后控制台如图显示即为成功
![[Pasted image 20230311144603.png]]

3.5 测试

3.5.1 登录后台页面

登录后台网址后,控制台如图显示是在从库进行查询
![[Pasted image 20230311145800.png]]

3.5.2 添加员工

如图添加员工![[Pasted image 20230311145525.png]]
后台日志显示如图,是在主库查询![[Pasted image 20230311145850.png]]

3.6 提交本地git

提交本地git并进行推送合并,如图![[Pasted image 20230311151703.png]]
![[Pasted image 20230311151922.png]]

相关内容

热门资讯

居住证同工作居住证及暂住证的区... 《居住证管理办法(征求意见稿)》12月4日起公开向社会征求意见和建议,意味着各地试行多年的居住证制度...
最新居住证制度,实施居住证制度... 中国将取消暂住证制度 全面实施居住证制度  近日,《关于全面深化公安改革若干重大问题的框架意见》及相...
上虞最新或2023(历届)提高... 我区提高企业退休人员基本养老金  从今年1月1日起,我区再次提高企业退休人员基本养老金,目前所有工作...
五险一金包括什么缴纳比例,教你...  首先搞清楚什么是五险一金?  五险: 养老,失业,工伤,医疗,生育  一金: 公积金  缴费标准:...
最新或2023(历届)目前聘任... 公务员工资改革最新消息 目前聘任制公务员工资待遇  继机关事业单位养老保险制度改革方案公布,人力资源...