package cn.itcast.jdbc;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
public class TxQueryRunner extends QueryRunner { //此处继承了QueryRunner类
private Connection getConnection() throws SQLException {
return JdbcUtils.getConnection();
}
private void releaseConnection(Connection con) throws SQLException {
JdbcUtils.releaseConnection(con);
}
@Override
public int[] batch(String sql, Object[][] params) throws SQLException {
Connection con = getConnection();
int[] result = super.batch(con, sql, params);
releaseConnection(con);
return result;
}
@Override
public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params)
throws SQLException {
Connection con = getConnection();
T result = super.query(con, sql, rsh, params);
releaseConnection(con);
return result;
}
@Override
public <T> T query(String sql, ResultSetHandler<T> rsh) throws SQLException {
Connection con = getConnection();
T result = super.query(con, sql, rsh);
releaseConnection(con);
return result;
}
@Override
public int update(String sql) throws SQLException {
Connection con = getConnection();
int result = super.update(con, sql);
releaseConnection(con);
return result;
}
@Override
public int update(String sql, Object param) throws SQLException {
Connection con = getConnection();
int result = super.update(con, sql, param);
releaseConnection(con);
return result;
}
@Override
public int update(String sql, Object... params) throws SQLException {
Connection con = getConnection();
int result = super.update(con, sql, params);
releaseConnection(con);
return result;
}
}
重写了其中的 update query方法 添加了releaseConnection方法 等等