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

有没有专门做毕业设计的网站病毒什么时候才能消失

有没有专门做毕业设计的网站,病毒什么时候才能消失,企业网站建设预算方案,重庆做营销型网站建设公司SpringBoot整合Sharding-Jdbc Sharding-Jdbc sharding-jdbc是客户端代理的数据库中间件;它和MyCat最大的不同是sharding-jdbc支持库内分表。 整合 数据库环境 在两台不同的主机上分别都创建了sharding_order数据库,库中都有t_order_1和t_order_2两张…

SpringBoot整合Sharding-Jdbc

Sharding-Jdbc

sharding-jdbc是客户端代理的数据库中间件;它和MyCat最大的不同是sharding-jdbc支持库内分表。

整合

数据库环境

在两台不同的主机上分别都创建了sharding_order数据库,库中都有t_order_1和t_order_2两张表。
在这里插入图片描述

sharding-jdbc依赖如下

        <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.1.1</version></dependency>

application.properties配置文件

在application.properties配置文件中进行数据源配置、分库分表规则配置

#shardingsphere数据源配置
spring.shardingsphere.datasource.names=ds0,ds1#数据源配置
spring.shardingsphere.dataSource.ds0.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.dataSource.ds0.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.dataSource.ds0.jdbcUrl=jdbc:mysql://192.168.200.215:3306/sharding_order?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
spring.shardingsphere.dataSource.ds0.username=root
spring.shardingsphere.dataSource.ds0.password=rootspring.shardingsphere.dataSource.ds1.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.dataSource.ds1.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.dataSource.ds1.jdbcUrl=jdbc:mysql://192.168.200.225:3306/sharding_order?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
spring.shardingsphere.dataSource.ds1.username=root
spring.shardingsphere.dataSource.ds1.password=root#shardingsphere数据节点分片规则
spring.shardingsphere.sharding.tables.t_order.actual-data-nodes=ds$->{0..1}.t_order_$->{1..2}#数据源分片规则,决定数据落在哪个库
spring.shardingsphere.sharding.tables.t_order.database-strategy.inline.sharding-column=user_id
spring.shardingsphere.sharding.tables.t_order.database-strategy.inline.algorithm-expression=ds$->{user_id % 2}#表分片规则,决定数据落在哪个表
spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.sharding-column=id
spring.shardingsphere.sharding.tables.t_order.table-strategy.inline.algorithm-expression=t_order_$->{id % 2 + 1}#逻辑表,mybatis中查询的时候需要使用逻辑表查询,不能使用具体的分片表
spring.shardingsphere.sharding.tables.t_order.logic-table=t_order

测试

    /*** 测试分库分表*/@Testpublic void test4() {Order order = new Order();order.setId(5);order.setUserId(2);order.setOrderStatus(1);order.setOrderAmount(BigDecimal.valueOf(3000));orderMapper.insert(order);}

数据落在了215这台主机上的sharding_order数据库中的t_order_2表中;证明分库分表成功了。
在这里插入图片描述

分布式全局id设置

由于有两张order表,t_order_1和t_order2;而且在单表中我们往往会设置主键自增,那么就会出现表中的id重复的问题,sharding-jdbc支持使用通过雪花算法生成uuid作为主键来解决这个问题。

application.properties文件

#表分片规则
#标准表达式
spring.shardingsphere.sharding.tables.t_order.table-strategy.standard.sharding-column=id
spring.shardingsphere.sharding.tables.t_order.table-strategy.standard.precise-algorithm-class-name=com.sharding.jdbc.sharding.MySharding#id生成规则,分布式全局id
spring.shardingsphere.sharding.tables.t_order.key-generator.column=id
spring.shardingsphere.sharding.tables.t_order.key-generator.type=UUID

分片规则

/*** @author DELL* @version 1.0* @description:精确分片规则* @date 2023/11/26 13:34:36*/
public class MySharding implements PreciseShardingAlgorithm<String> {/**** @param collection:表名* @param preciseShardingValue:生成的uuid、逻辑表、字段名* @return*/@Overridepublic String doSharding(Collection<String> collection, PreciseShardingValue<String> preciseShardingValue) {String id = preciseShardingValue.getValue();int mode = id.hashCode() % collection.size();String[] strings = collection.toArray(new String[0]);System.out.println("strings:" + Arrays.toString(strings));return strings[Math.abs(mode)];}
}

测试生成分布式id

这里要注意的是由于这里的id是sharding-jdbc帮我们生成的,所以调用mapper中方法的时候不能指定id,否则不会自动生成。

    /*** 测试生成uuid*/@Testpublic void test5() {Order order = new Order();order.setUserId(3);order.setOrderStatus(1);order.setOrderAmount(BigDecimal.valueOf(3000));orderMapper.insert(order);}

如果报了这个错,大概率就是sql中指定了id。

Sharding value must implements Comparable.

uui的是有可能重复的,这里可以指定使用雪花算法生成uuid。雪花算法配置如下:

spring.shardingsphere.sharding.tables.t_order.key-generator.column=id
spring.shardingsphere.sharding.tables.t_order.key-generator.type=SNOWFLAKE
spring.shardingsphere.sharding.tables.t_order.key-generator.props.worker.id=345

分片规则中的String需要改成Long。

参考

  1. Sharding-JDBC官网-配置手册
  2. ShardingSphere报Sharding value must implements Comparable.的解决过程
http://www.ds6.com.cn/news/123721.html

相关文章:

  • 加盟平台响应网站建设合肥网络公司
  • 爱设计ppt官网seo排名优化教程
  • 白云区江夏附近做网站引流app推广软件
  • 网站做支付按流量付费吗seo实战优化
  • 网站建立的优劣势朋友圈推广文案
  • 网站域名查主机友情链接是什么
  • wordpress统计和谷歌不同关键词seo如何优化
  • 网站建设策划书模板qq引流推广软件免费
  • 家乡网站建设策划案电脑优化软件推荐
  • 做网站怎么实现在线支付2023年12月疫情又开始了吗
  • 优惠券网站要怎么做推广网络营销推广方案设计
  • 高端建站收费百度seo营销公司
  • 网站单页做301网站提交入口大全
  • 用自己的电脑做主机建网站短视频seo推广隐迅推专业
  • 国内手机网站建设百度荤seo公司
  • 网站建设有哪些问题百度广告投诉电话
  • 网站顶部轮播怎么做百度推广基木鱼
  • 山西建网站人脉推广app
  • 织梦网站栏目字体怎么调php免费开源crm系统
  • 漳州网站建设优化智能识别图片
  • 幼儿园网站开发代码抖音搜索排名
  • 网站设计推广方案网站的搜索引擎
  • 佛山南海网站建设短视频营销的特点
  • 做网站钱企业网站建站
  • 南通网站建设.2345浏览器下载安装
  • 网站导航的作用网络营销属于哪个专业
  • 网站优秀设计谷歌怎么推广自己的网站
  • 免费网站建设特色关键词云图
  • 做h5网站用什么我想做网络推广
  • 公众电影网站怎么做河北高端网站建设