validationQuery的配置是用来验证数据库连接的正确性,为了防止数据库认为连接已死而web应用认为连接还有效的情况发生。
该语句必须是至少返回一条数据的select语句,每个数据库有不同的语句。
| DataBase | validationQuery |
|---|---|
| hsqldb | select 1 from INFORMATION_SCHEMA.SYSTEM_USERS |
| Oracle | select 1 from dual |
| DB2 | select 1 from sysibm.sysdummy1 |
| MySql | select 1 |
| Microsoft SqlServer | select1 |
| postgresql | select version() |
| ingres | select 1 |
| derby | values 1 |
| H2 | select 1 |
testOnBorrow: 向调用者输出“链接”资源时,是否检测是否有效,如果无效则从连接池中移除,并尝试获取继续获取。默认为false。建议保持默认值.
testOnReturn: 向连接池“归还”链接时,是否检测“链接”对象的有效性。默认为false。建议保持默认值.
testWhileIdle: 向调用者输出“链接”对象时,是否检测它的空闲超时;默认为false。如果“链接”空闲超时,将会被移除。
建议配置:
validationQuery:select 1
testOnBorrow:false
testOnReturn:false
testWhileIdle:true
本文详细介绍了数据库连接池中validationQuery的配置方法及其作用,解释了不同数据库对应的验证查询语句,并提供了testOnBorrow、testOnReturn及testWhileIdle等参数的建议配置。

被折叠的 条评论
为什么被折叠?



