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