1.环境:

3台数据库机器,一个master,二台slave,分别为slave1,slave2

2.要实现的目标:

①使数据写入到master

②读数据时,从slave1和slave2中读取

以此来实现数据库的读写分离

3.原理:

使用MySQL驱动自带的replicationDriver来实现,replicationDriver简单来说就是存在两个Connection,一个masterConnection,一个slaveConnection;

当setReadonly(true)就把currentConnection=slaveConnection,反之设置为masterConnection

4.实现步骤:

①jdbc.properties

## 使用ReplicationDriver而不是driver

jdbc.driverClassName=com.mysql.jdbc.ReplicationDriver

## 使用的是jdbc:mysql:replication://

jdbc.url=jdbc:mysql:replication://master:3306,slave1:3306,slave2:3306/test2?characterEncoding=utf8

jdbc.username=root

jdbc.password=123456

②使用spring的事物,把读操作设置为readonly=true

id="dataSource">

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

所有以get开头的方法被调用时,readonly = true

ps:这个只是实现了读写分离,master与slave之间的数据同步使用mysql replication即可

java 读写分离 mvc_spring MVC、mybatis配置读写分离相关推荐

  1. Java项目:(小程序)幼儿园报名系统(java+weixin-java-mp+spring+spring mvc+mybatis+layui+微信小程序)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 1 .登记管理 2 .基础管理 3 .公示公告 4 .首页展示 二.项目运行 环境配置: jdk8+tomc ...

  2. 前后端分离-从MVC到前后端分离

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言 ...

  3. spring MVC、mybatis配置读写分离

    第一種方法: 當後端MYSQL服務器群是master-master雙向同步機制時,前端應用使用JDBC連接數據庫可以使用loadbalance方式,如下所示: jdbc:mysql:loadbalan ...

  4. mysql读写分离实例_SpringBoot+MyBatis+MySQL读写分离(实例)

    https://mp.weixin.qq.com/s/1vTbllmZkHRnuk7_xR2DIg 1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿 ...

  5. pcie读写ddr_5.3 存储器、I/O和配置读写请求TLP

    本节讲述PCIe总线定义的各类TLP,并详细介绍这些TLP的格式.在这些TLP中,有些格式对于初学者来说较难理解.读者需要建立PCIe总线中与TLP相关的一些基本概念,特别是存储器读写相关的报文格式. ...

  6. spring mvc mysql配置_spring mvc配置数据库连接

    ACM 配置中心实战:Spring + MyBatis + Druid + ACM 很多基于 Spring MVC 框架的 Web 开发中,Spring + MyBatis + Druid 是一个黄金 ...

  7. spring配置主库从库_springboot集成mybatis配置主从复制双库实现读写分离

    一般情况下网站对数据库的读要比写多多了,所以当数据量大了的时候,使用读写分离是很有必要的 spring提供了数据源路由的类,正好拿它来实现一下 创建项目 简单的springboot项目,依赖有myba ...

  8. MyBatis多数据源配置(读写分离)

    MyBatis多数据源配置(读写分离) 首先说明,本文的配置使用的最直接的方式,实际用起来可能会很麻烦. 实际应用中可能存在多种结合的情况,你可以理解本文的含义,不要死板的使用. 多数据源的可能情况 ...

  9. Springboot Mybatis MySQL读写分离及事物配置

    为什么需要读写分离 当项目越来越大和并发越来大的情况下,单个数据库服务器的压力肯定也是越来越大,最终演变成数据库成为性能的瓶颈,而且当数据越来越多时,查询也更加耗费时间,当然数据库数据过大时,可以采用 ...

最新文章

  1. R语言中if else、which、%in%的用法
  2. spark代码中添加logger_Spark的日志配置
  3. 电机高频注入原理_永磁同步电机转子位置与速度估算的新方法,精度好,性价比高...
  4. ros自己写避障算法_迷雾学术篇|视觉感知的无人机动态避障(下篇)
  5. ngixn+tomcat负载均衡 动静分离配置 (nginx反向代理)
  6. Linux开机启动过程详细分析
  7. P3899 [湖南集训]谈笑风生
  8. node包管理器npm常用命令
  9. 《Scikit-Learn与TensorFlow机器学习实用指南》第16章 强化学习
  10. python打印国际象棋规则口诀_python输出国际象棋棋盘的实例分享
  11. 【论文写作】毕业论文写作套路之正文(2)
  12. 这些文章可以使知识融会贯通
  13. 【渝粤教育】电大中专电子商务网站建设与维护作业 题库
  14. java判断语句总结,JAVA常用操作语句 项目中的总结六
  15. centos7.x/RedHat7.x重命名网卡名称
  16. ASP.NET Core 基础教程总结 - ASP.NET Core 基础教程 - 简单教程,简单编程
  17. Oracle数据库概述
  18. php是世界上最好的语言 ctf+代码审计+加密函数绕过
  19. ajax传参遇到问题
  20. 便利店“三方会战”,谁是最后赢家?

热门文章

  1. mysql驱动加载原理_老调重弹:JDBC系列 之 lt;驱动载入原理全面解析gt;
  2. 数据分析师必须会python_数据分析师必须掌握的9种数据分析方法
  3. 编写歌唱比赛评分_营造园区浓厚文化氛围 三亚崖州湾科技城“最强音”歌唱比赛落幕...
  4. PowerVR 7架构解析
  5. MySQL数据库 --基础
  6. python3写的一个检测远程服务器端口脚本
  7. Zookeeper Curator API 使用
  8. 原生JS大揭秘—数据类型
  9. exit和abort都是用来终止程序的函数
  10. 最近实在抽不出时间更新博客