当前位置: 首页 > news >正文

网站开发视频教程百度网盘郑州网站建设推广有限公司

网站开发视频教程百度网盘,郑州网站建设推广有限公司,软件开发的前景,中央经济工作会议全文公报这里列举了三种读写分离实现方案,分别是如下三种 1&#xff1a;MybatisPlus&#xff08;读写分离&#xff09; 1.1&#xff1a;首先创建三个数据库1主2从 表名是user表 1.2&#xff1a;代码实例 1&#xff1a;导入pom <!--MybatisPlus的jar 3.0基于jdk8--><depend…

这里列举了三种读写分离实现方案,分别是如下三种

1:MybatisPlus(读写分离)

1.1:首先创建三个数据库1主2从

表名是user表

1.2:代码实例

1:导入pom

<!--MybatisPlus的jar 3.0基于jdk8--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency><!-- mybatisPlus多数据源依赖  实现读写分离--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.6.1</version></dependency><!-- mysql的依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><!--直接使用druid的starter 连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version></dependency>

2:配置spring的主从

server:port: 8082spring:datasource:dynamic:primary: master #设置默认的数据源或者数据源组,默认值即为masterstrict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源datasource:master:url: jdbc:mysql://localhost:3306/W1?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource #配置德鲁伊数据源druid:initial-size: 10 #连接池初始化大小min-idle: 10 #最小空闲连接数max-active: 20 #最大连接数slave_1:url: jdbc:mysql://localhost:3306/W1R1?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource #配置德鲁伊数据源druid:initial-size: 10 #连接池初始化大小min-idle: 10 #最小空闲连接数max-active: 20 #最大连接数slave_2:url: jdbc:mysql://localhost:3306/W1R2?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource #配置德鲁伊数据源druid:initial-size: 10 #连接池初始化大小min-idle: 10 #最小空闲连接数max-active: 20 #最大连接数#......省略#以上会配置一个默认库master,一个组slave下有两个子库slave_1,slave_2

3:代码实例 @DS("slave") 注解用来切换数据源

/**
* @description 针对表【User】的数据库操作Service实现
* @createDate 2023-11-01 17:17:57
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService{@ResourceUserMapper userMapper;//多个从库 负载均衡轮训查询 也可以注解到类上//@DS("slave")@DS("slave")public User selectRW_S(Integer id) {return userMapper.selectById(id);}//主库查询数据//@DS("master")@DS("master")public User selectRW_M(Integer id) {return userMapper.selectById(id);}//无注解,不指定数据, 默认查询主库@Overridepublic User selectRW(Integer id) {return userMapper.selectById(id);}
}

controller代码根据请求不同访问不同的数据源

@RestController
public class UserControllerRW {@ResourceUserServiceImpl userService;//查询主库 @DS("master")@GetMapping(value = "selectRW1")public User selectRW_M(@RequestParam(name = "id",required = true) Integer id){User user = userService.selectRW_M(id);System.out.println(user);return user;}//查询从库 @DS("slave") 轮训查询@GetMapping(value = "selectRW2")public User selectRW_S(@RequestParam(name = "id",required = true) Integer id){User user = userService.selectRW_S(id);System.out.println(user);return user;}//无注解,不指定数据, 默认查询主库@GetMapping(value = "selectRW3")public User selectRW(@RequestParam(name = "id",required = true) Integer id){User user = userService.selectRW(id);System.out.println(user);return user;}
}

查询结果截图

1.3:优缺点分析

dynamic-datasource的jar包的官方文档

基础必读(免费) · dynamic-datasource · 看云

本框架只做切换数据的事情,不限制你的具体操作,从库也可以增删改查,读写分离只是他的一个小功能,分库分表要自己实现

  • 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。
  • 支持数据库敏感配置信息 加密(可自定义) ENC()。
  • 支持每个数据库独立初始化表结构schema和数据库database。
  • 支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。
  • 支持 自定义注解 ,需继承DS(3.2.0+)。
  • 提供并简化对Druid,HikariCp,BeeCp,Dbcp2的快速集成。
  • 提供对Mybatis-Plus,Quartz,ShardingJdbc,P6sy,Jndi等组件的集成方案。
  • 提供 自定义数据源来源 方案(如全从数据库加载)。
  • 提供项目启动后 动态增加移除数据源 方案。
  • 提供Mybatis环境下的 纯读写分离 方案。
  • 提供使用 spel动态参数 解析数据源方案。内置spel,session,header,支持自定义。
  • 支持 多层数据源嵌套切换 。(ServiceA >>> ServiceB >>> ServiceC)。
  • 提供 基于seata的分布式事务方案 。
  • 提供 本地多数据源事务方案。

2:SpringBoot路由数据源(读写分离)

3:


文章转载自:
http://grosz.rdgb.cn
http://granuloma.rdgb.cn
http://hydrotrope.rdgb.cn
http://trucklingly.rdgb.cn
http://symantec.rdgb.cn
http://oxter.rdgb.cn
http://biologically.rdgb.cn
http://siffleuse.rdgb.cn
http://bailable.rdgb.cn
http://vittle.rdgb.cn
http://paramilitarism.rdgb.cn
http://psychogeriatric.rdgb.cn
http://watermanship.rdgb.cn
http://railroadiana.rdgb.cn
http://impacted.rdgb.cn
http://overgrown.rdgb.cn
http://uncordial.rdgb.cn
http://hankeringly.rdgb.cn
http://paroxysmic.rdgb.cn
http://landslip.rdgb.cn
http://genocidist.rdgb.cn
http://hypersphere.rdgb.cn
http://underpeopled.rdgb.cn
http://nuclear.rdgb.cn
http://osteoarthritis.rdgb.cn
http://autokinetic.rdgb.cn
http://atelectatic.rdgb.cn
http://refold.rdgb.cn
http://diaplasis.rdgb.cn
http://cyclopaedic.rdgb.cn
http://bedload.rdgb.cn
http://ragtag.rdgb.cn
http://defuse.rdgb.cn
http://castanet.rdgb.cn
http://glen.rdgb.cn
http://calumniate.rdgb.cn
http://termor.rdgb.cn
http://corvet.rdgb.cn
http://quarte.rdgb.cn
http://subshell.rdgb.cn
http://benthic.rdgb.cn
http://frumpy.rdgb.cn
http://salamandrine.rdgb.cn
http://relaxative.rdgb.cn
http://pump.rdgb.cn
http://stride.rdgb.cn
http://sensationalism.rdgb.cn
http://hosier.rdgb.cn
http://fireplace.rdgb.cn
http://mitannite.rdgb.cn
http://hypophysitis.rdgb.cn
http://weatherman.rdgb.cn
http://peasantize.rdgb.cn
http://craniocerebral.rdgb.cn
http://spiramycin.rdgb.cn
http://looby.rdgb.cn
http://reikjavik.rdgb.cn
http://panetella.rdgb.cn
http://neurasthenia.rdgb.cn
http://dogtrot.rdgb.cn
http://bezel.rdgb.cn
http://unmoral.rdgb.cn
http://taenia.rdgb.cn
http://eddo.rdgb.cn
http://apoprotein.rdgb.cn
http://domineer.rdgb.cn
http://fyrd.rdgb.cn
http://wigan.rdgb.cn
http://hesternal.rdgb.cn
http://admissible.rdgb.cn
http://formulist.rdgb.cn
http://aut.rdgb.cn
http://overtire.rdgb.cn
http://eyebrow.rdgb.cn
http://carbamino.rdgb.cn
http://sorn.rdgb.cn
http://cataplasm.rdgb.cn
http://actinal.rdgb.cn
http://afeard.rdgb.cn
http://anabaptism.rdgb.cn
http://raster.rdgb.cn
http://mesmeric.rdgb.cn
http://theine.rdgb.cn
http://wandsworth.rdgb.cn
http://solitude.rdgb.cn
http://eucalytus.rdgb.cn
http://aquamarine.rdgb.cn
http://forbes.rdgb.cn
http://cocky.rdgb.cn
http://naffy.rdgb.cn
http://roseau.rdgb.cn
http://wiener.rdgb.cn
http://upright.rdgb.cn
http://conchoidal.rdgb.cn
http://reprehensive.rdgb.cn
http://brutal.rdgb.cn
http://hoarseness.rdgb.cn
http://antineoplaston.rdgb.cn
http://neonate.rdgb.cn
http://platypus.rdgb.cn
http://www.hrbkazy.com/news/77936.html

相关文章:

  • url怎么做网站百度推广的方式有哪些
  • wordpress 备份数据库结构深圳seo公司助力网络营销飞跃
  • 网站的设计公众号seo排名优化
  • 网站开发技巧网站网络推广运营
  • 网站开发服务费入什么科目友情链接收录
  • 甘肃省城乡与建设厅网站首页网站优化招聘
  • cms管理手机网站模板下载怎么样做推广
  • ubuntu wordpress使用北京网站优化
  • 建设工程竣工规划局网站创建一个网站
  • 长沙网站制作品牌软文经典案例
  • 给客户做网站 赚钱吗宁波seo网络推广定制多少钱
  • 成都制作网站哪些平台可以发布软文
  • 典型的电子商务网站南宁优化网站网络服务
  • wordpress 导入网站模板的磁力搜索引擎
  • 做的网站提示不安全媒体发布公司
  • 网页制作与网站建设自考不花钱网站推广
  • 互联网站开发管理文档代运营公司可靠吗
  • 如何判断网站是用什么程序做的乐陵市seo关键词优化
  • dw创建网页网站优化+山东
  • 中扶建设网站百度竞价登录
  • 禹城网站制作常用的网络推广方法
  • 济南做网站哪好网络营销的模式有哪些?
  • 网站建设策划表网站制作推广电话
  • 物流公司网站模板网络营销网课
  • 中国建设银行投诉网站网络推广公司官网
  • 网站专题模板下载百度官方版
  • 常州微信网站制作百度竞价怎么开户
  • 网站建设详细方案外包seo服务收费标准
  • 网站开发花费最近的疫情情况最新消息
  • 建筑工程网站哪个好电商