spring:
  main:
    allow-bean-definition-overriding: true
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    # 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
    dynamic:
      # 性能分析插件(有性能损耗 不建议生产环境使用)
      p6spy: false
      # 设置默认的数据源或者数据源组,默认值即为 master
      primary: master
      # 严格模式 匹配不到数据源则报错
      strict: true
      datasource:
        # 主库数据源
        master:
          type: ${spring.datasource.type}
          driverClassName: com.mysql.cj.jdbc.Driver
          # jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
          # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
          url: jdbc:mysql://127.0.0.1:3306/ddt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
          username: root
          password: Aa@1230
        # 从库数据源
        slave:
          lazy: true
          type: ${spring.datasource.type}
          driverClassName: com.mysql.cj.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/ddt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
          username: root
          password: Aa@1230
      #        oracle:
      #          type: ${spring.datasource.type}
      #          driverClassName: oracle.jdbc.OracleDriver
      #          url: jdbc:oracle:thin:@//localhost:1521/XE
      #          username: ROOT
      #          password: root
      #          hikari:
      #            connectionTestQuery: SELECT 1 FROM DUAL
      #        postgres:
      #          type: ${spring.datasource.type}
      #          driverClassName: org.postgresql.Driver
      #          url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
      #          username: root
      #          password: root
      #        sqlserver:
      #          type: ${spring.datasource.type}
      #          driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
      #          url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
      #          username: SA
      #          password: root
      hikari:
        # 最大连接池数量
        maxPoolSize: 20
        # 最小空闲线程数量
        minIdle: 10
        # 配置获取连接等待超时的时间
        connectionTimeout: 30000
        # 校验超时时间
        validationTimeout: 5000
        # 空闲连接存活最大时间，默认10分钟
        idleTimeout: 600000
        # 此属性控制池中连接的最长生命周期，值0表示无限生命周期，默认30分钟
        maxLifetime: 1800000
        # 连接测试query（配置检测连接是否有效）
        connectionTestQuery: SELECT 1
        # 多久检查一次连接的活性
        keepaliveTime: 30000
#  shardingsphere:
#    datasource:
#      names: ds1
#      ds1:
#        type: com.zaxxer.hikari.HikariDataSource
#        driver-class-name: com.mysql.cj.jdbc.Driver
#        jdbcUrl: jdbc:mysql://127.0.0.1:3306/ddt?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
#        username: root
#        password: Aa@1230
#    sharding:
#      tables:
#        bl_wd_topological:
#          actual-data-nodes: ds1.bl_wd_topological_$->{1..20}
#          key-generator:
#            column: center_wd_id
#            type: SNOWFLAKE
#          table-strategy:
#            standard:
#              sharding-column: center_wd_id
#              precise-algorithm-class-name: com.benyun.core.utils.sharding.ConsistenceHashAlgorithm
#        bl_topological_store_wd_statistics_category:
#          actual-data-nodes: ds1.bl_topological_store_wd_statistics_category_$->{1..5}
#          key-generator:
#            column: center_wd_id
#            type: SNOWFLAKE
#          table-strategy:
#            standard:
#              sharding-column: center_wd_id
#              precise-algorithm-class-name: com.benyun.core.utils.sharding.ConsistenceHashAlgorithm
#        bl_topological_house_wd_statistics_data:
#          actual-data-nodes: ds1.bl_topological_house_wd_statistics_data_$->{1..5}
#          key-generator:
#            column: center_wd_id
#            type: SNOWFLAKE
#          table-strategy:
#            standard:
#              sharding-column: center_wd_id
#              precise-algorithm-class-name: com.benyun.core.utils.sharding.ConsistenceHashAlgorithm
#        bl_topological_build_wd_statistics_category:
#          actual-data-nodes: ds1.bl_topological_build_wd_statistics_category_$->{1..5}
#          key-generator:
#            column: center_wd_id
#            type: SNOWFLAKE
#          table-strategy:
#            standard:
#              sharding-column: center_wd_id
#              precise-algorithm-class-name: com.benyun.core.utils.sharding.ConsistenceHashAlgorithm
  redis: #redis配置
    host: 127.0.0.1  #redis服务地址
    database: 11
    port: 6379       #redis连接端口
    timeout: 5000ms  #连接超时时间
    #password: "123456"
    pool:
      minIdle: 1   #连接池中的最小空闲连接
      maxIdle: 10  #连接池中的最大空闲连接
      maxWait: 3   #连接池最大阻塞等待时间(使用负值表示没有限制)
      maxActive: 8 #连接池最大连接数（使用赋值表示没有限制）

#mybatis-plus配置
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml  #告诉mybatis数据库映射文件mapper.xml的位置
  #  configuration:
  #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  #显示sql日志
  global-config:
    db-config:
      id-type: auto

pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  params: count=countSql
