导入的黑马旅游网的项目
- 内部的mysql版本是5.xxx,
- 一直报错但是查也查不出来(因为错误样式很多类似,获取不到连接,data init error)
- 我寄希望于mysql的版本,于是将pom文件的mysql版本更改为8.0.16
- 更改durid的资源文件
- 就莫名其妙的好了
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/travel?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
username=root
password=123456
initialSize=5
maxActive=10
maxWait=3000
更改mysql版本之后
- 出现新错误,此时durid的版本1.0.9
严重: testWhileIdle is true, validationQuery not set
- 参考于https://blog.csdn.net/weixin_42323802/article/details/82726267
8月 18, 2021 3:40:40 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
原因
- 因为没有SpringBoot框架xml配置,在不使用框架的情况下(转载)
严重: testWhileIdle is true, validationQuery not set- 在durid的资源文件添加
filters=stat timeBetweenEvictionRunsMillis=60000 minEvictableIdleTimeMillis=300000 validationQuery=SELECT 1 testWhileIdle=true testOnBorrow=false testOnReturn=false poolPreparedStatements=false maxPoolPreparedStatementPerConnectionSize=200信息: {dataSource-1} inited- 虽然是红字但并不是错误
- Druid采用了日志打印机制,这不是报错;连接池采用了懒加载,真正用到的时候才初始化;
durid新增资源名词解释
validationQuery = SELECT 1 验证连接是否可用,使用的SQL语句
testWhileIdle = true 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.
testOnBorrow = false 借出连接时不要测试,否则很影响性能
timeBetweenEvictionRunsMillis = 30000 每30秒运行一次空闲连接回收器
minEvictableIdleTimeMillis = 1800000 池中的连接空闲30分钟后被回收,默认值就是30分钟。
numTestsPerEvictionRun= 3 在每次空闲连接回收器线程(如果有)运行时检查的连接数量,默认值就是3.
参考于此[https://blog.csdn.net/weixin_42323802/article/details/82726267]
浙公网安备 33010602011771号