首页 > 编程语言 >Java_Jdbc_连接池的testQuery/validationQuery设置

Java_Jdbc_连接池的testQuery/validationQuery设置

时间:2023-06-19 16:33:22浏览次数:58  
标签:Jdbc Java Tomcat testQuery Connection SQL validationQuery 连接池


 

JDBC连接池的testQuery/validationQuery设置

 



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



 



连接池实现 该功能属性名

The Tomcat JDBC Connection Pool

validationQuery

The Apache Commons DBCP Connection Pool

validationQuery

c3p0 - JDBC3 Connection and Statement Pooling

preferredTestQuery

Atomikos:Tomcat Spring ActiveMQ MySQL JMX Integration分析Atomikos数据连接池源码,弄清testQuery

testQuery



此外,测试/验证连接池连接的SQL语句也因数据库而异:
Efficient SQL test query or validation query that will work across all (or most) databasesDBCP - 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,Java,Tomcat,testQuery,Connection,SQL,validationQuery,连接池
From: https://blog.51cto.com/u_16070335/6515656

相关文章

  • 【电商平台api接口】获取lazada商品评论获取评论内容、评论日期、买家昵称、评论商品
    ​ 请求获取Lazada商品评论(免费获取测试)的作用如下:1.了解商品质量:通过获取Lazada商品评论,可以了解商品的质量、使用感受等信息,从而更好地了解商品的优缺点,为购买者提供更为准确的参考。2.搜集用户反馈:通过搜集Lazada商品评论,可以了解用户对商品的反馈和意见,了解用户的需求和......
  • java反序列化(六)
    fastjson反序列化前置知识fastjson是阿里巴巴开发的一个处理json数据的开源库,简简单单解析一个json字符串是自然不会造成命令执行的,问题在于很多库为了实用性会额外实现一些功能,造成了攻击点fastjson简单使用引入依赖,先用古老版本<dependency><groupId>......
  • java~搞懂Comparable接口的compareTo方法
    Comparable接口的compareTo方法的升序或降序取决于实现该接口的类的具体实现。按照惯例,compareTo方法应该返回负数、零或正数来指示当前对象是小于、等于还是大于传入的对象。具体来说:如果this对象小于传入的对象,则compareTo应该返回负数。如果this对象等于传入的对......
  • JavaScript的数学计算库:decimal.js
    Anarbitrary-precisionDecimaltypeforJavaScript.功能整数和浮点数简单但功能齐全的API复制JavaScript和对象的许多方法Number.prototypeMath还处理十六进制、二进制和八进制值比Java的BigDecimalJavaScript版本更快,更小,也许更容易使用无依赖关系广泛的平......
  • Java 运算符的使用
    Java运算符的使用1.算术运算符算术运算符包括:+,-,*,/,%,++,--,其中需要注意的是%,++,--;%取模运算也叫做取余,在Java中取余的规则:a%b=a-a/b*b++和--叫做自增运算即+1或-1++在前,先自加,后赋值++在后,先赋值,后自加(--运算与自增用法类似)2.算......
  • Java学习_第一个语法:添加注释
    单行注释://注释内容多行注释:/* 注释内容*/idea软件小技巧:多行注释往往容易找不到重点,可以在要做的事之前加上TODO前缀,idea软件会帮你高亮标注出来。 ......
  • Android面试涨薪攻略指南:Android面试必知必会Java知识点
    前言大多数面试者,虽然看起来工作努力,但他们表现出来的能力水平,却不足以通过面试,或拿到期望的薪资。在我看来,造成这种情况的原因,主要有这么两方面:第一,“知其然不知其所以然”。做了几年技术,开发了一些业务应用,但没有思考过这些技术选择背后的逻辑。所以,公司很难定位你日后的成长潜力......
  • 基于JAVA乳制品安全管理信息平台
    互联网的普及给人们带来的便利不需多说。因此如果把乳制品安全管理信息平台与互联网结合起来,利用java技术建设乳制品安全管理信息平台系统,实现乳制品安全管理信息平台的网络化。乳制品安全管理信息平台系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的乳制品企业了解和熟知乳......
  • java WebUploader 分块上传
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。首先我们需要了解的是上传文件三要素:1.表单提交方式:post(get方式提交有大小限制,post没有)2.表单的enctype属性:必须设置为multipart/form-data.3.表单必须......
  • JavaScript中var、let、const的使用和区别
    var:var是声明变量的主要关键字,它的作用域是函数作用域函数作用域:意味着变量在函数内部声明是可见的,在函数外部声明是不可见的var声明的变量可以被重新声明和赋值,它可以在同一个作用于下多次声明同一个变量let:let的作用域是块作用域,块作用域可以是函数、条件判断等内部{......