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

.net网站开发实训体会wordpress论坛

.net网站开发实训体会,wordpress论坛,长春网络建设公司,建设众筹网站这里列举了三种读写分离实现方案,分别是如下三种 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://www.yayakq.cn/news/685497/

相关文章:

  • 桃城网站建设价格网站流量不够怎么办
  • 黑河建设网站淘宝网页设计报告
  • 网站盗号怎么做湖南送变电建设公司 网站
  • 网站首页排名年报申报入口
  • 自助手机网站建站软件网站按钮样式
  • 贵阳网站seo公司企业网络营销策略设计
  • 重庆网站建设方案书打工网站校企合作建设
  • 深圳网站建设公司排名安丘做网站的
  • 湖南城乡建设部网站上海公司注销流程及资料
  • 网站备案价格新能源汽车车型及报价
  • 湖州做网站优化wordpress课程主题
  • 网站建设及政务工作自查专业企业展馆展厅设计公司
  • 网站开发教学视频教程手机域名
  • 众搜科技做百度网站广州安尔捷做的网站好吗
  • 华为网站哪个公司做的小程序和wordpress
  • 新网站快速提高排名查企业免费查询
  • 龙岩公司做网站郑州网站建设郑州网站建设
  • 网上做的好金融网站手机触屏网站开发教程
  • 如何建立免费网站的步骤网站开发要会英语吗
  • 网站开发技术方案与设施商城小程序模板源码完整版
  • 网址价格seo大全
  • 做电脑系统的网站好网站建设实施文档
  • 长春免费建站模板音乐网站建设策划
  • 邹平县城乡建设局网站php怎么做网站
  • 鹤城机关建设网站找人做网站防止别人用
  • 网站设计个人心得制作网站软件手机
  • 网站备案号显示红色自媒体写作平台
  • html 网站 模板wordpress 虚拟主机
  • 国内大的做网站的公司空压机网站开发公司
  • 免费ppt模板的网站做招聘网站的需求分析