配合JdbcUtils最终版重写QueryRunner
2024-10-16 04:44:14
在使用QueryRunner类的时候,直接new本类,无需传递连接池或连接,如果是普通连接,最终释放连接
/**
*
* 在使用QueryRunner类的时候,直接new本类,无需传递连接池或连接
*
* 1. 这个类中的方法自己来处理连接的问题 无需外界传递
* 2. 通过JdbcUtils.getConnection()得到连接,有可能是事务连接,
* 也有可能是普通连接,如果是普通连接,关闭!
* JdbcUtils.releaseConnection()完成释放!
* @author hui.zhang
*
*/
public class TxQueryRunner extends QueryRunner {
@Override
public int[] batch(String sql, Object[][] params) throws SQLException {
Connection conn = JdbcUtils.getConnection();
int[] batch = super.batch(conn, sql, params);
JdbcUtils.releaseConnection(conn);
return batch;
} @Override
public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params)
throws SQLException {
Connection conn = JdbcUtils.getConnection();
T result = super.query(conn, sql, rsh, params);
JdbcUtils.releaseConnection(conn);
return result;
} @Override
public <T> T query(String sql, ResultSetHandler<T> rsh) throws SQLException {
Connection conn = JdbcUtils.getConnection();
T result = super.query(conn, sql, rsh);
JdbcUtils.releaseConnection(conn);
return result;
} @Override
public int update(String sql, Object... params) throws SQLException {
Connection conn = JdbcUtils.getConnection();
int update = super.update(conn, sql, params);
JdbcUtils.releaseConnection(conn);
return update;
} @Override
public int update(String sql, Object param) throws SQLException {
Connection conn = JdbcUtils.getConnection();
int update = super.update(conn, sql, param);
JdbcUtils.releaseConnection(conn);
return update;
} @Override
public int update(String sql) throws SQLException {
Connection conn = JdbcUtils.getConnection();
int update = super.update(conn, sql);
JdbcUtils.releaseConnection(conn);
return update;
} }
最新文章
- 关于dvajs里effects的call和put
- 每天一个linux命令(55):traceroute命令
- canvas API ,通俗的canvas基础知识(四)
- 使用Google Code和客户端TortoiseSVN 工具搭建一个在线源代码版本控制系统
- linux chmod 命令详解(转)
- js添加遮罩层
- CSS负边距自适应布局三例
- 单例模式——使用GCD实现单例模式 &; 非ARC单例模式 &;使用GCD和线程锁实现单例模式-b
- leetcode第一刷_Merge Sorted Array
- 高德地图markers生成和点击
- Spring4 IOC详解
- 63. Unique Paths II(中等, 能独立做出来的DP类第二个题^^)
- JQuery 网页选项卡制作
- asp.net动态加载程序集创建指定类的实例及调用指定方法
- 深度学习课程笔记(十八)Deep Reinforcement Learning - Part 1 (17/11/27) Lectured by Yun-Nung Chen @ NTU CSIE
- 如何分析java内存泄漏问题
- spring之继承配置
- HttpDebug下载
- AngularJS入门基础——作用域
- 来自Google的TCP BBR拥塞控制算法解析