今天在写一个项目的时候用的是阿里云服务器docker上的mysql出现超时我一直觉得是服务器的问题,导致查询超时,
主页目录可能得刷新几次才能够查出数据,当我连接本地的数据库时还是一样出现了问题我就是知道问题不是出现服务器上,最后我终于发现了造成这样的原因,
先看看之前写的配置文件连接数据库
#spring: # datasource: # username: root # password: root # url: jdbc:mysql://120.79.207.145:3307/gulimall_pms # driver-class-name: com.mysql.cj.jdbc.Driver # cloud: # nacos: # discovery: # server-addr: 127.0.0.1:8848 # jackson: # date-format: yyyy-MM-dd HH:mm:ss # # #mybatis-plus: # mapper-locations: classpath:/mapper*.xml # global-config: # db-config: # id-type: auto # logic-delete-value: 1 # logic-not-delete-value: 0 #server: # port: 10000 #logging: # level: # com.atguigu.gulimall: debug #
再看看之后的配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://120.79.207.145:3307/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
# 连接池启动时的初始值
initial-size: 10
# 最大空闲值,当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxID
max-active: 10
# 最小空闲值,当空闲的连接数少于阈值,连接池会预申请去一些连接,以免洪峰来时,来不及申请
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
#Oracle需要打开注释
#validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid*.xml
global-config:
db-config:
id-type: auto
logic-delete-value: 1
logic-not-delete-value: 0
logging:
level:
com.atguigu.gulimall: debug
使用连接池能提高效率



