springboot2.4 配置数据库连接池
type: com.zaxxer.hikari.HikariDataSource
查询的时候 报错,但是依然可以查询出数据,
2020-12-01 15:51:33.766 INFO 35480 --- [nio-8080-exec-7] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2020-12-01 15:51:33.770 WARN 35480 --- [nio-8080-exec-7] com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation.
2020-12-01 15:51:34.033 INFO 35480 --- [nio-8080-exec-7] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Driver does not support get/set network timeout for connections. (oracle.jdbc.driver.T4CConnection.getNetworkTimeout()I)
2020-12-01 15:51:34.044 INFO 35480 --- [nio-8080-exec-7] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation. 的问题查询之后参考了 https://www.cnblogs.com/6324/p/10903960.html
1
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
改为
1
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
【原因】
Oracle 9i 之后,建议使用 oracle.jdbc.OracleDriver ,而不是 oracle.jdbc.driver.OracleDriver。
另外一个错误 HikariPool-1 - Driver does not support get/set network timeout for connections,
在yml文件中添加 Hikari的配置之后
datasource:
username: qianyi
password: Xia123456
url: jdbc:oracle:thin:@localhost:1521:orcl
driver-class-name: oracle.jdbc.OracleDriver
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 5
# 空闲连接存活最大时间,默认600000(10分钟)
idle-timeout: 180000
# 连接池最大连接数,默认是10
maximum-pool-size: 10
# 此属性控制从池返回的连接的默认自动提交行为,默认值:true
auto-commit: true
# 连接池名称
pool-name: MyHikariCP
# 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
max-lifetime: 1800000
# 数据库连接超时时间,默认30秒,即30000
connection-timeout: 30000
connection-test-query: SELECT 1
查询错误变成了 HikariPool-1 - Driver does not support get/set network timeout for connections. (oracle.jdbc.driver.T4CConnection.getNetworkTimeout()I)
这个问题去仓库那搜了下,https://github.com/brettwooldridge/HikariCP/issues/743
感觉是和数据库版本有关系,目前我的数据库版本是 oracle 11.2.0.1.0 这个待定,测试下。通过单元测试,发现这个确实不影响使用,
用的 oracle数据库版本:oracle 12C ,但是启动也还是有这个错误。
2019-05-26 23:38:11.352 INFO 16880 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 2140 ms
2019-05-26 23:38:11.492 INFO 16880 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2019-05-26 23:38:11.495 WARN 16880 --- [ main] com.zaxxer.hikari.util.DriverDataSource : Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation.
2019-05-26 23:38:12.353 INFO 16880 --- [ main] com.zaxxer.hikari.pool.PoolBase : HikariPool-1 - Driver does not support get/set network timeout for connections. (oracle.jdbc.driver.T4CConnection.getNetworkTimeout()I)
2019-05-26 23:38:12.359 INFO 16880 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.