spring:
  autoconfigure:
    exclude: org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration
  datasource:
    # druid 连接池管理
    type: com.alibaba.druid.pool.DruidDataSource
    dynamic:
      enabled: true # 开关
      primary: mysql
      strict: false
      datasource:
        mysql:
          driver-class-name: ${xunhong.turbo.mysql.driver-class-name}
          url: ${xunhong.turbo.mysql.url}
          username: ${xunhong.turbo.mysql.username}
          password: ${xunhong.turbo.mysql.password}
        clickhouse:
          driver-class-name: ${xunhong.turbo.clickhouse.driver-class-name}
          url: ${xunhong.turbo.clickhouse.url}
          username: ${xunhong.turbo.clickhouse.username}
          password: ${xunhong.turbo.clickhouse.password}
    # Druid连接池配置
    datasource.druid:
      initial-size: 5 # 连接池初始化时创建的连接数。默认值为0。
      min-idle: 5 # 连接池中保持的最小空闲连接数量。当连接池中的连接数量小于这个值时，连接池会尝试创建新的连接。默认值为0。
      max-active: 20 # 连接池中允许的最大连接数。如果所有连接都被使用并且没有空闲连接，新的连接请求将被阻塞，直到有连接可用。默认值为8。
      max-wait: 60000 # 获取连接时的最大等待时间，单位为毫秒。如果在指定的时间内无法获取到连接，将抛出异常。默认值为-1，表示无限等待。
      time-between-eviction-runs-millis: 60000 # 连接池每次检测空闲连接的间隔时间，单位为毫秒。默认值为60000毫秒（1分钟）。
      min-evictable-idle-time-millis: 300000 # 连接在连接池中的最小空闲时间，超过这个时间的连接将被回收，单位为毫秒。默认值为300000毫秒（5分钟）。
      validation-query: SELECT 1 # 用于验证连接是否有效的SQL查询语句。Druid会定期执行此查询来检测连接的可用性。默认为"SELECT 1"。
      test-while-idle: true # 是否在连接空闲时检测连接的有效性。如果设置为true，则连接池会定期检测空闲连接，如果连接失效，将被标记为不可用并移除。默认为true。
      test-on-borrow: false # 是否在从连接池借用连接时检测连接的有效性。如果设置为true，每次从连接池借用连接时都会执行连接有效性检测。默认为false。
      test-on-return: false # 是否在归还连接到连接池时检测连接的有效性。如果设置为true，连接在归还到连接池时会进行有效性检测。默认为false。
      pool-prepared-statements: true # 是否开启预处理语句池。预处理语句池可以提高性能，特别是在执行相同SQL语句多次时。默认为true。
      max-pool-prepared-statement-per-connection-size: 20 #每个连接上允许的最大预处理语句数。默认值为20。

# MyBatis配置
mybatis:
  configuration:
    map-underscore-to-camel-case: true # 将数据库字段的下划线命名转换为驼峰命名
  mapper-locations: classpath:mapper/*.xml # MyBatis映射文件所在的位置，这里是使用XML的配置方式时需要配置的部分

mybatis-plus:
  # 支持统配符 * 或者 ; 分割
  typeEnumsPackage: com.xunhong.erp.turbo.api.*.dto.enums
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      logic-delete-field: flag
      logic-delete-value: 1
      logic-not-delete-value: 0

