• springboot项目启动-自动创建数据表


    很多时候,我们部署一个项目的时候,需要创建大量的数据表。例如mysql,一般的方法就是通过source命令完成数据表的移植,如:source /root/test.sql。如果我们需要一个项目启动后,就自动创建所需要的数据表,那么除了可以使用代码完成之外,还可以使用下面的方法。springboot的yml文件配置如下:

        server:
          port: 9137
          tomcat:
        uri-encoding: UTF-8
        max-threads: 100  #最大并发数
        max-connections: 200 #最大连接数
        accepCount: 50  #等待数
        
        spring:
          profiles:
        active: dev #切换开发环境和测试环境,dev为开发环境,prod为测试环境
          application:
        name: vslm
          zipkin:
        base-url: http://localhost:9917/
          sleuth:
        sampler:
          probability: 1.0   #2.0后percentage改为probability
          boot:
        admin:
          client:
        enabled: true
        url: "http://localhost:9905"   #指定hi-admin 服务端地址
        password: "admin"
        username: "admin"
        instance:
          prefer-ip: true
          datasource:
        url: jdbc:mysql://localhost:3306/vslm?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=UTC&useSSL=false
        driverClassName: com.mysql.jdbc.Driver
        username: root
        password: 123456
        #项目启动后执行建表语句
        schema:
        - classpath:sql/vslm.sql
        sql-script-encoding: utf-8
        platform: mysql
        initialization-mode: always
        druid:
          #监控统计拦截的filters
          filters: stat
          #配置初始化大小/最小/最大
          initial-size: 1
          min-idle: 1
          max-active: 20
          #获取连接等待超时时间
          max-wait: 60000
          #间隔多久进行一次检测,检测需要关闭的空闲连接
          time-between-eviction-runs-millis: 60000
          #一个连接在池中最小生存的时间
          min-evictable-idle-time-millis: 300000
          validation-query: SELECT 'x'
          test-while-idle: true
          test-on-borrow: false
          test-on-return: false
          #打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false
          pool-prepared-statements: false
          max-pool-prepared-statement-per-connection-size: 20
        
        
        mybatis:
          mapper-locations: classpath:mapper/*.xml
          type-aliases-package: com.hierway.vslm.domain  # 注意:对应实体类的路径
        
        management:
          endpoints:
        web:
          exposure:
           include: "*"   #暴露所有的端点我们可以看到更多的服务实例相关信息,
          endpoint:
        shutdown:
          enabled: true
          sensitive: false
        health:
          show-details: ALWAYS   #health endpoint是否必须显示全部细节
        dataacess:
          data-access-type: 0 # 0: 使用mybatis1: 使用data service
        
        dataservice:
          base-url: http://localhost:9763/services/reqm_dataservice
        
        rest-client:
          pool-size: 200
          default-max-per-route: 100
          connection-timeout: 5000
          connection-request-timeout: 1000
          socket-timeout: 65000
          validate-after-inactivity: 2000
        
        
        eureka:
          instance:
        lease-expiration-duration-in-seconds: 30
        lease-renewal-interval-in-seconds: 10
        prefer-ip-address: true
          client:
        registerWithEureka: true
        fetchRegistry: true
        #eureka服务端的地址
        serviceUrl:
          defaultZone: http://admin:admin@10.10.10.3:9909/eureka/
    
    

    然后在resource下创建文件夹sql(自定义)以及vslm.sql文件,键入数据定义语言DDL(Data Definition Language)。当项目启动后,发现会自动创建数据表。

  • 相关阅读:
    oracle 排序字段自增长
    ORACLE REPLACE函数
    oracle非空不做更新
    Elasticsearch 5.4.3 聚合分组
    Elasticsearch 版本控制
    Elasticsearch 配置同义词
    Elasticseach的评分机制
    实现Ecshop商品跳到淘宝、京东等的购买链接
    修改ECSHOP系统红包序列号规律
    Ecshop后台订单列表增加”商品名”检索字段
  • 原文地址:https://www.cnblogs.com/yiweiblog/p/11190078.html
走看看 - 开发者的网上家园