在《Tomcat中使用Connector/J连接MySQL的超时问题》帖子中想要增加对连接池中连接的测试/验证,防止数据库认为连接已死而Web应用服务器认为连接还有效的问题,Mysql文档中提到Tomcat文档中的例子中用的是validationQuery,但是网上还有很多帖子写的是testQuery,到底用哪一个呢?

此外,测试/验证连接池连接的SQL语句也因数据库而异:
Efficient SQL test query or validation query that will work across all (or most) databases
DBCP - validationQuery for different Databases

综合上述两个帖子,汇总结果如下:

数据库 测试/验证查询
MySQL SELECT 1
PostgreSQL SELECT 1
Microsoft SQL Server SELECT 1
SQLite SELECT 1
H2 SELECT 1
Ingres SELECT 1
Oracle select 1 from dual
DB2 select 1 from sysibm.sysdummy1 或
SELECT current date FROM sysibm.sysdummy1
Apache Derby VALUES 1 FROM SYSIBM.SYSDUMMY1 或
SELECT 1 FROM SYSIBM.SYSDUMMY1
HSQLDB SELECT 1 FROM any_existing_table WHERE 1=0 或
SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS
Informix select count(*) from systables

JDBC连接池的testQuery/validationQuery设置的更多相关文章

  1. 再淡spring jdbc 连接池断开重连设置

    先看一段错误日志: ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConne ...

  2. spring boot(10)-tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  3. Spring boot (12) tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多,spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  4. 四大流行的jdbc连接池之C3P0篇

    C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSourc ...

  5. Tomcat 的 JDBC 连接池

    JDBC 连接池 org.apache.tomcat.jdbc.pool 是 Apache Commons DBCP 连接池的一种替换或备选方案. 那究竟为何需要一个新的连接池? 原因如下: Comm ...

  6. 【JDBC&Dbutils】JDBC&JDBC连接池&DBUtils使用方法(重要)

    -----------------------JDBC---------- 0.      db.properties文件 driver=com.mysql.jdbc.Driver url=jdbc: ...

  7. JDBC连接池和DBUtils

    本节内容: JDBC连接池 DBUtils 一.JDBC连接池 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采取连接池技术,来共享连接Conne ...

  8. JDBC实例--JDBC连接池技术解密,连接池对我们不再陌生

    一.为什么我们要用连接池技术? 前面的数据库连接的建立及关闭资源的方法有些缺陷.统舱传统数据库访问方式:一次数据库访问对应一个物理连接,每次操作数据库都要打开.关闭该物理连接, 系统性能严重受损. 解 ...

  9. JDBC连接池&DBUtils

    JDBC连接池 DBCP:Apache推出的Database Connection Pool 使用步骤: > 添加jar包  commons-dbcp-1.4.jar  commons-pool ...

随机推荐

  1. PostgreSQL中定时job执行(pgAgent)

    PostgreSQL中定时job执行 业务分析 近期项目需要定期清理数据库中的多余数据,即每月1号删除指定表中一年以上的数据. 初步分析这种定时job可以使用一下两种技术实现: Linux的cront ...

  2. Oracle Trace文件生成及查看

    2011-11-03 16:45:01 聪明的笨蛋 阅读数 39596更多 分类专栏: 6) Database   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出 ...

  3. Eclipse 搭建Struts2

    Eclipse版本 Mars Release (4.5.0) Struts版本 struts-2.5.20 下载地址:https://struts.apache.org/download.cgi#st ...

  4. log4j实现日志自动清理功能

    log4j不支持自动清理功能,但是log4j2版本支持,log4j2是log4j的升级版,比logback先进. log4j升级为log4j2(不需要改动代码)https://blog.csdn.ne ...

  5. CentOS 7 yum Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile

    yum install nginx发生的错误 yum install nginx Loaded plugins: fastestmirror, ovl Loading mirror speeds fr ...

  6. 5.7.27版本mysql新增用户

    因为我们目前只有root,所以只能先用root登陆mysql,再新增用户: $ bin/mysql -u root -p Enter password: Welcome to the MySQL mo ...

  7. 【FreeMarker】Spring MVC与FreeMarker整合(二)

    前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...

  8. matlab优化函数fminunc

    一起来学演化计算-matlab优化函数fminunc 觉得有用的话,欢迎一起讨论相互学习~Follow Me fminunc 求无约束多变量函数的最小值 非线性编程求解器 找到指定问题的最小值,\(m ...

  9. redis八大应用场景

    1.缓存 缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力.Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓 ...

  10. .Net MVC 下载网站的文件

    目录 前言 C#文件的下载 ajax 返回文件路径,使用window.open打开 前言 上传文件我使用的是Bootstrap的插件FileInput,这个抽时间看看写个博客 现在下载我遇到坑了,而这 ...