
很多时候,我们部署一个项目的时候,需要创建大量的数据表。例如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)。当项目启动后,发现会自动创建数据表。