跳至主要內容

数据库配置

大约 2 分钟配置数据库配置数据库配置

  • 单体版配置位于:mysql.yml
  • lamp.database 前缀的配置参考:DatabaseProperties
  • mybatis-plus 前缀的配置参考: MybatisPlusProperties
lamp:
  druid-oracle: &druid-oracle
    validation-query: SELECT 'x' FROM DUAL
  druid-mysql: &druid-mysql
    validation-query: SELECT 'x'
  druid-sqlserver: &druid-sqlserver
    validation-query: SELECT 'x'
  druid-dameng: &druid-dameng
    validation-query: SELECT 'x'
  dameng: &db-dameng
    username: 'SYSDBA'
    password: 'SYSdba001'
    driverClassName: dm.jdbc.driver.DmDriver
    # 主主复制集群的连接 URL,使用服务器IP和端口
    #以下是样例中的默认端口号和数据库名称,请根据实际情况修改
    url: jdbc:dm://192.168.1.139:5236/lamp_ds_c_defaults
  oracle: &db-oracle
    username: 'lamp_ds_c_defaults'
    password: 'lamp_ds_c_defaults'
    driverClassName: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@172.26.3.67:1521:helowin
  mysql: &db-mysql
    username: 'root'
    password: 'root'
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/lamp_ds_c_defaults?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&autoReconnect=true&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&nullCatalogMeansCurrent=true
  sqlserver: &db-sqlserver
    username: 'sa'
    password: '1234@abcd'
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://172.26.3.67:1433;DatabaseName=lamp_ds_c_defaults
    init:
      separator: GO
  database:
    # 字段介绍参考 DatabaseProperties
    initDatabasePrefix:
      - lamp_base
    # COLUMN模式中隔离 租户 的列名
    tenantIdColumn: 'created_org_id'
    multiTenantType: DATASOURCE_COLUMN
    # 是否启用  sql性能规范插件
    isBlockAttack: false
    isDataScope: true
    # 是否启用分布式事务
    isSeata: false
    # 生产环境请设置p6spy = false
    p6spy: true
    # id生成策略
    id-type: CACHE
    hutoolId:
      workerId: 0
      dataCenterId: 0
    cache-id:
      time-bits: 31
      worker-bits: 22
      seq-bits: 10
      epochStr: '2020-09-15'
      boost-power: 3
      padding-factor: 50

# mysql 通用配置
spring:
  autoconfigure:
    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
  datasource:
    druid:
      enable: true
      # 以下的2段配置,同时适用于所有模式
      web-stat-filter:  # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
        enabled: true
        url-pattern: /*
        exclusions: "*.js , *.gif ,*.jpg ,*.png ,*.css ,*.ico , /druid/*"
        session-stat-max-count: 1000
        profile-enable: true
        session-stat-enable: false
      stat-view-servlet:  #展示Druid的统计信息,StatViewServlet的用途包括:1.提供监控信息展示的html页面2.提供监控信息的JSON API
        enabled: true
        url-pattern: /druid/*   #根据配置中的url-pattern来访问内置监控页面,如果是上面的配置,内置监控页面的首页是/druid/index.html例如:http://127.0.0.1:9000/druid/index.html
        reset-enable: true    #允许清空统计数据
        login-username: ''
        login-password: ''
        allow: ''

# mybatis-plus 相关
mybatis-plus:
  mapper-locations:
    - classpath*:mapper_**/**/*Mapper.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: top.tangyh.lamp.*.entity;top.tangyh.basic.database.mybatis.typehandler
  typeEnumsPackage: top.tangyh.lamp.*.enumeration
  global-config:
    db-config:
      id-type: INPUT
      insert-strategy: NOT_NULL
      update-strategy: NOT_NULL
      where-strategy: NOT_EMPTY
  configuration:
    #配置返回数据库(column下划线命名&&返回java实体是驼峰命名),自动匹配无需as(没开启这个,SQL需要写as: select user_id as userId)
    map-underscore-to-camel-case: true
    cache-enabled: false
    #配置JdbcTypeForNull, oracle数据库必须配置
    jdbc-type-for-null: 'null'
    default-enum-type-handler: top.tangyh.basic.database.mybatis.handlers.MybatisEnumTypeHandler

# 分布式事务相关
seata:
  enabled: ${lamp.database.isSeata}
  enableAutoDataSourceProxy: ${lamp.database.isSeata}
  tx-service-group: lamp_cloud_seata_tx_group
  registry:
    type: nacos
    nacos:
      server-addr: '@nacos.ip@:@nacos.port@'
      namespace: '@seata.namespace@'
      username: '@nacos.username@'
      password: '@nacos.password@'
      group: 'SEATA_GROUP'
  config:
    type: nacos
    nacos:
      server-addr: '@nacos.ip@:@nacos.port@'
      namespace: '@seata.namespace@'
      username: '@nacos.username@'
      password: '@nacos.password@'
      group: 'SEATA_GROUP'
      dataId: seataServer.properties
  service:
    grouplist:
      default: '@seata.ip@:@seata.port@'
    vgroup-mapping:
      lamp_cloud_seata_tx_group: default
    disable-global-transaction: false
  client:
    rm:
      report-success-enable: false
👆🏻👆🏻👆🏻上面是评论区,对系统、本页文档什么疑问,可以在评论区留言。
❗️❗️❗️若评论区无法显示,请使用"手机热点"或"科学上网"。