首页 > 其他分享 >springboot2+mybatis+shardingsphere-5.5.1

springboot2+mybatis+shardingsphere-5.5.1

时间:2024-11-12 15:43:53浏览次数:1  
标签:jdbc shardingsphere druid springboot2 120000 mybatis org true

注意:

1.druid不能boot-starter方式引入

2.snakeyaml需要1.33 ('void org.yaml.snakeyaml.LoaderOptions.setCodePointLimit(int)') #30318

3.spring.datasource.driverClassName: org.apache.shardingsphere.driver.ShardingSphereDriver

4.如果使用了quartz,需要指定独立数据源(Table or view 'QRTZ_LOCKS' does not exist.)

5.druid的密码加密正常

6.druid的配置需放在 shardingsphere的yaml文件中,且为驼峰

以下是具体代码,主实现用户日志按月存表

1.pom

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>druid</artifactId>
</dependency>
<dependency>
	<groupId>org.apache.shardingsphere</groupId>
	<artifactId>shardingsphere-jdbc</artifactId>
</dependency>
<dependency>
	<groupId>org.yaml</groupId>
	<artifactId>snakeyaml</artifactId>
	<version>1.33</version>
</dependency>

2.application.yml

spring:
  datasource:
    driverClassName: org.apache.shardingsphere.driver.ShardingSphereDriver
    url: jdbc:shardingsphere:classpath:sharding-dev.yml

3.sharding-dev.yml

mode:
  type: Standalone
  repository:
    type: JDBC

dataSources:
  ds0:
    dataSourceClassName: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/demo?useSSL=false&createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&noAccessToProcedureBodies=true&rewriteBatchedStatements=true
    username: root
#    password: root
    password: root
    initialSize: 5
    minIdle: 10
    maxActive: 50
    maxWait: 120000
    asyncInit: true
    timeBetweenEvictionRunsMillis: 120000
    minEvictableIdleTimeMillis: 60000
    maxEvictableIdleTimeMillis: 600000
    validationQuery: select 1
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    connectTimeout: 120000
    socketTimeout: 120000
    filters: wall,config
    #密码加密
    connectionProperties: config.decrypt=true;config.decrypt.key=publicKey

rules: # 配置  表规则
- !SHARDING
  tables:
    user_operation_log: # 分表,表名
      # 配置分库策略
      # 由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
      actualDataNodes: ds0.user_operation_log_$->{202411..202412}  #数据节点,均匀分布
      tableStrategy:  # 配置分表策略
        standard:
          shardingColumn: create_time
          shardingAlgorithmName: table-inline
  # 配置 分片算法
  shardingAlgorithms:
    table-inline:
      type: INLINE
      props:
        algorithm-expression: user_operation_log_$->{create_time.toString().substring(0, 7).replace("-", "")}  #按模运算分配
        allow-range-query-with-inline-sharding: true

props:
  sql-show: true

  

标签:jdbc,shardingsphere,druid,springboot2,120000,mybatis,org,true
From: https://www.cnblogs.com/besehen/p/18542017

相关文章

  • javaWeb开发实战:spring MVC+MyBatis实现网页登录验证
    1.环境和工具Idea2019、Tomcat8、Jdk82.新建springMVC项目打开idea,新建项目,选择springMVC->next:填写项目名、路径->finish完成创建3.项目属性配置文件(file)->项目结构:检查sdk、模块设置是否正确。4.运行调试配置Addconfigration点击“+”号,选择tomcat->loca......
  • mybatis-generator使用
    Mybatis-generator使用一.添加依赖 <!--首先要有mybatis的依赖和数据库驱动--> <dependencies> <!--mybatis依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-......
  • Mybatis的基本应用
    一框架简介1.1三层架构软件开发常用的架构是三层架构,之所以流行是因为有着清晰的任务划分。一般包括以下三层:持久层:主要完成与数据库相关的操作,即对数据库的增删改查。                      因为数据库访问的对象一般称为Da......
  • springboot 接入shardingsphere-jdbc-core-spring-boot-starter
    环境springboot+mybatis-plus+driud注:druid引入方式请不要使用boot-starter方式<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>......
  • SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略
    SQL注入攻击及其在SpringBoot中使用MyBatisPlus的防范策略随着互联网技术的飞速发展,Web应用的安全问题日益凸显,其中SQL注入攻击是最常见的安全威胁之一。SQL注入攻击不仅可能导致敏感数据泄露,还可能引发数据篡改、服务中断等严重后果。本文将详细介绍SQL注入攻击的基本概念......
  • Mybatis的学习
    这次学习了Mybatis的用法,并且跟着视频做了实际应用1、创建user表,添加数据2、创建Maven项目模块,导入坐标4.0.0<groupId>org.example</groupId><artifactId>mybites-demo</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.sour......
  • MyBatis项目的创建和增删查改操作
    1.项目的创建第一步还是和之前的Spring项目一样然后还需要添加以下依赖,Lombok和web依赖也可以加上之后需要进行数据库的配置,这里通过yml来演示:spring:application:name:mybatis-demodatasource:url:jdbc:mysql://127.0.0.1:3306/mybatis_tes......
  • 【MyBatis源码】SQL 语句构建器AbstractSQL
    文章目录介绍org.apache.ibatis.jdbc.SQLSQL类使用示例@SelectProvider搭配动态SQLAbstractSQL类源码分析介绍当我们需要使用Statement对象执行SQL时,SQL语句会嵌入Java代码中。SQL语句比较复杂时,我们可能会在代码中对SQL语句进行拼接,查询条件不固定时,还需要根据不同......
  • spring整合mybatis解析(黑马SSM-26)
    spring整合mybatis文章目录spring整合mybatis前言一、核心对象分析1.环境准备数据库的创建项目创建(1)配置文件的创建及配置pom.xml文件的配置SqlMapConfig.xml文件的配置jdbc.properties文件的配置(2)相关类的创建模块目录:dao接口的创建domain类的创建service类的创建serv......
  • 六、MyBatis-Plus高级用法(1):最优化持久层开发
    一、MyBatis-Plus快速入门1.1简介课程版本:3.5.3.1MyBatis-Plus......