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

html5个人网站模板普通话手抄报文字内容

html5个人网站模板,普通话手抄报文字内容,衢州市建设工程质量监督站网站,产品设计私单网站目录 springboot通过sharding-dbc按年、月分片 1、引入pom依赖 2、application.yml配置 3、分片算法 4、注意事项 1、引入pom依赖 <!--shardingjdbc分片&#xff0c;和Druid不兼容&#xff0c;如果不使用sharding则需要注释--><dependency><groupId>org.…

目录

 springboot通过sharding-dbc按年、月分片

1、引入pom依赖

2、application.yml配置

3、分片算法

4、注意事项


1、引入pom依赖

 <!--shardingjdbc分片,和Druid不兼容,如果不使用sharding则需要注释--><dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.1.1</version></dependency>

2、application.yml配置

spring:autoconfigure:exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfiguremain:allow-bean-definition-overriding: trueshardingsphere:#配置数据源datasource:names: ds-masterds-master:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://147.1.5.229:3306/aihosp?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=trueusername: aihosppassword: DF3f3#KF#83Fesharding:tables:year_table:actual-data-nodes: ds-master.year_table$->{2021..2025}  #按年分表tableStrategy:standard: #用于单分片键的标准分片场景sharding-column: create_dateprecise-algorithm-class-name: com.gxfy.common.algorithm.PreciseRangeShardingAlgorithm # 精确分片算法类名称,用于=和IN。该类需实现PreciseShardingAlgorithm接口并提供无参数的构造器range-algorithm-class-name: com.gxfy.common.algorithm.PreciseRangeShardingAlgorithm #范围分片算法类名称,用于BETWEEN,可选。该类需实现RangeShardingAlgorithm接口并提供无参数的构造器key-generator:column: idtype: SNOWFLAKE #分布式全局ID(雪花算法)retry-interval-milliseconds: 500month_table:actual-data-nodes: ds-master.month_table$->{2022..2025}0$->{1..9},ds-master.month_table$->{2022..2025}1$->{0..2}  #按月分表tableStrategy:standard: #用于单分片键的标准分片场景sharding-column: create_dateprecise-algorithm-class-name: com.gxfy.common.algorithm.PreciseRangeShardingAlgorithmrange-algorithm-class-name: com.gxfy.common.algorithm.PreciseRangeShardingAlgorithmkey-generator:column: idtype: SNOWFLAKE #分布式全局ID(雪花算法)retry-interval-milliseconds: 500)retry-interval-milliseconds: 500#其他运行属性props:sql:show: false

3、分片算法

import com.google.common.collect.Range;
import lombok.extern.slf4j.Slf4j;
import org.apache.shardingsphere.api.sharding.standard.PreciseShardingAlgorithm;
import org.apache.shardingsphere.api.sharding.standard.PreciseShardingValue;
import org.apache.shardingsphere.api.sharding.standard.RangeShardingAlgorithm;
import org.apache.shardingsphere.api.sharding.standard.RangeShardingValue;import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Set;/**** 按年分片* 精准分库PreciseShardingDBAlgorithm** 范围分库RangeShardingDBAlgorithm** 精准分表PreciseShardingTableAlgorithm** 范围分表RangeShardingTableAlgorithm:*/
@Slf4j
public class PreciseRangeShardingAlgorithm implements PreciseShardingAlgorithm<String>,RangeShardingAlgorithm<String> {/***  RangeShardingAlgorithm的重写  根据传入的分片健的值,对所有待选择的表中 根据自己的业务逻辑进行判断,选择符合条件的表返回* @param tableNameList 返回需要查询的表* @param shardingValue 传入的分片健的值* @return 返回符合条件的表名称*/@Overridepublic Collection<String> doSharding(Collection<String> tableNameList, RangeShardingValue<String> shardingValue) {System.out.println("[MyTableRangeShardingAlgorithm] shardingValue: [{}]\n"+ shardingValue);Set<String> tableNameResultList = new LinkedHashSet<>();Range<String> rangeValue = shardingValue.getValueRange();String flag = "year";for (String tableName : tableNameList) {if (tableName.startsWith("month_table")) {flag = "month";break;}}if ("year".equals(flag)) {int lowInt = Integer.parseInt(rangeValue.lowerEndpoint().substring(0,5).replaceAll("-",""));int upperInt = Integer.parseInt(rangeValue.upperEndpoint().substring(0,5).replaceAll("-",""));for (String tableNameItem : tableNameList) {String substring = tableNameItem.substring(tableNameItem.length() - 4);int tableItem = Integer.valueOf(substring);if(tableItem >=  lowInt && tableItem <= upperInt ){tableNameResultList.add(tableNameItem);}}} else if ("month".equals(flag)) {int lowInt = Integer.parseInt(rangeValue.lowerEndpoint().substring(0,7).replaceAll("-",""));int upperInt = Integer.parseInt(rangeValue.upperEndpoint().substring(0,7).replaceAll("-",""));for (String tableNameItem : tableNameList) {String substring = tableNameItem.substring(tableNameItem.length() - 6,tableNameItem.length());int tableItem = Integer.valueOf(substring);if(tableItem >=  lowInt && tableItem <= upperInt ){tableNameResultList.add(tableNameItem);}}}return tableNameResultList;}/** PreciseShardingAlgorithm的重写 */@Overridepublic String doSharding(Collection<String> collection, PreciseShardingValue<String> preciseShardingValue) {String s = buildShardingTable(preciseShardingValue.getLogicTableName(), preciseShardingValue.getValue());return s;}/*** 构建分片后的表名* @param logicTableName* @param date* @return*/private String buildShardingTable(String logicTableName, String date) {StringBuffer stringBuffer = new StringBuffer(logicTableName).append("_").append(date, 0, 4);if (logicTableName.startsWith("month_table") ) {// 月分表stringBuffer = new StringBuffer(logicTableName).append("_").append(date, 0, 4).append(date, 5, 7);}return stringBuffer.toString();}}

4、注意事项

(1)分片主键不能修改。

(2)分表后如果需指定表,入参需使用例如 ${tableSuf}

          ${}和#{}的区别:${}参数不会携带‘’,但#{}会携带。

实施sharding-jdbc,一些非常痛的注意点 - 掘金 (juejin.cn)

http://www.hkea.cn/news/521018/

相关文章:

  • 论坛型网站怎么做百度高级检索入口
  • 做百度移动网站排搜素引擎优化
  • 公司创建一个网站需要多少钱想做百度推广找谁
  • 做文献ppt模板下载网站有哪些常德政府网站
  • 青岛网站建设公司排行外链工具在线
  • 网站怎么做显得简洁美观seo数据是什么意思
  • 阿里巴巴开通诚信通后网站怎么做网络优化网站
  • 东莞手机网站价格便宜个人免费建站软件
  • 电子商务网站建设的步骤一般为百度100%秒收录
  • 做企业网站怎么样免费的推广软件下载
  • 拓普网站建设美国搜索引擎
  • 网站开发者工资冯耀宗seo视频教程
  • 软件开发各阶段工作量比例搜索引擎优化的基础是什么
  • 网站怎么做才能将名声打响云搜索app
  • 南阳做网站优化哪家好一级域名生成二级域名
  • 3322动态域名官网郑州seo联系搜点网络效果好
  • 网络营销渠道的类型河北seo基础教程
  • 做微信网站多少钱seo内部优化包括哪些内容
  • 中国城乡建设网站网络优化公司排名
  • 个人网站做淘宝客教程torrentkitty磁力搜索引擎
  • 广州北京网站建设seo培训讲师招聘
  • 手机上免费自己做网站网络营销案例分享
  • 长沙大型网站建设谷歌账号
  • 大兴德艺网站建设发布悬赏任务的推广平台
  • html5制作网站模板百度产品大全首页
  • 贵阳网站建设贵阳百度推广怎么推广
  • 瓮安建设局网站google play三件套
  • 大型门户网站模板营销神器
  • 学设计的网站都有哪些seo和sem
  • 如何做网站流量买卖营销型网站的特点