DBCP针对不同数据库的validationQuery
来源:互联网 发布:手机版分类信息源码 编辑:程序博客网 时间:2024/06/08 05:54
DBCP针对不同数据库的validationQuery
当你使用DBCP连接池时,你可以通过设置testOnBorrow和testOnReturn属性测试这个连接是否可用。不幸的是你还需要设置validationQuery才能起作用。那么问题来了如何设置validationQuery这个值呢?
什么是validationQuery?
validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句。每种数据库都有各自的验证语句,下表中收集了几种常见数据库的validationQuery。
根据JDBC驱动获取validationQuery
如果你想支持多种数据库,你可以根据JDBC驱动来获取validationQuery,这里有个简单的类,根据JDBC驱动名称来获取validationQuery
import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class ValidationQuery { public String getValidationQuery(String driver) { Properties properties = loadProperties(); return properties.getProperty(driver, ""); } private Properties loadProperties() { String propertyFilename = "db.validation.properties"; try { Properties props = new Properties(); InputStream resourceAsStream = this.getClass(). getClassLoader().getResourceAsStream(propertyFilename); props.load(resourceAsStream); resourceAsStream.close(); return props; } catch (IOException e) { throw new RuntimeException("Cannot load properties file '" + propertyFilename + "'.", e); } } //Example: Get validationQuery for hsqldb public static void main(String[] args) { System.out.println(new ValidationQuery().getValidationQuery("org.hsqldb.jdbcDriver")); }}
创建“db.validation.properties”文件,并放置在classpath目录下
#hsqldborg.hsqldb.jdbcDriver=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS#Oracleoracle.jdbc.driver.OracleDriver=select 1 from dual#DB2com.ibm.db2.jcc.DB2Driver=select 1 from sysibm.sysdummy1#mysqlcom.mysql.jdbc.Driver=select 1org.gjt.mm.mysql.Driver=select 1#microsoft sqlcom.microsoft.sqlserver.jdbc.SQLServerDriver=select 1#postgresqlorg.postgresql.Driver=select version();#ingrescom.ingres.jdbc.IngresDriver=select 1#derbyorg.apache.derby.jdbc.ClientDriver=values 1#H2org.h2.Driver=select 1
1 1
- DBCP针对不同数据库的validationQuery
- DBCP针对不同数据库的validationQuery
- DBCP 的validationQuery
- 常用数据库的validationQuery语句
- 常用数据库的validationQuery语句
- DBCP - validationQuery for different Databases
- 常用数据库validationQuery语句
- 常用数据库validationQuery语句
- 常用数据库validationQuery语句
- 解决DBCP和C3P0针对mysql数据库8小时释放链接的问题
- 针对MySql的wait_timeout,DBCP如何配置
- hibernate的ID生成机制【针对不同的数据库】
- ArcGis Server中针对不同数据库查询语句的编写
- Hibernate学习笔记(一)--------针对不同的数据库不同的配置
- 针对不同数据库实现日期格式化
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- Myeclipse 10 Maven 构建 Java Web 项目
- 初学nodejs,典型demo
- 第三周——项目2建设“顺序表”算法库
- 项目二——建设“单链表”的算法库
- 小强的HTML5移动开发之路(7)——坦克大战游戏1
- DBCP针对不同数据库的validationQuery
- 备忘:连接数据库的写法
- libcurl教程
- linux环境变量 export命令详解
- 将博客搬至CSDN
- apache camle template , Adding Routes dynamically
- 委托、匿名方法、Lambda表达式的演进
- 第3周SHH数据结构—【项目3 - 求集合并集】
- MD5加盐。