JDBC工具类小结
来源:互联网 发布:手机优先网络列表设置 编辑:程序博客网 时间:2024/05/15 07:46
学习过程中我们经常需要利用jdbcUtils和c3p0连接池结合来操作数据库,由于数据操作的基本步骤大体一致,所以我们会自己写一个工具类来提供Datasource,Connection,释放资源等操作,再次做一个整理。
package cn.wang.customer.utils;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JDBCUtils { /** * JDBC工具类 1.提供连接池 2.释放资源,根据CRUD的实际情况释放资源方法需要重载 * */ // 利用c3p0连接池,连接池在应用中应该是唯一的,所以用静态的 private static DataSource dataSource = new ComboPooledDataSource(); /** * 工具类提供,连接池对象给 QueryRunner(DataSource dataSourece) 根据实际情况:需要事物管理的就是 无参构造 * 不需要事物管理的就是有参构造 * * @return */ public static DataSource getDataSource() {// 提供一个静态的方法获取连接池 return dataSource; } /** * 当需要手动控制事物的时候,需要把conn当做参数传递给方法, 所以这边提供一个方法,获取conn; * * @return */ public static Connection getConnection() { try { return dataSource.getConnection(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); throw new RuntimeException(e + "获取连接池失败"); } } /** * 提供多个重载的方法释放资源,根据实际情况调用 * */ public static void close(Connection conn) {// 事物管理的时候只可以释放 try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { conn = null; } } public static void close(Connection conn, Statement stat) { try { if (stat != null) { stat.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { stat = null;// 代码规范 close(conn); } } public static void close(Connection conn, Statement stat, ResultSet res) { try { if (res != null) { res.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { res = null; close(conn, stat); } } public static void close(PreparedStatement pst) { try { if (pst != null) { pst.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { pst = null; } }}
0 0
- JDBC工具类小结
- jdbc封装工具类
- JDBC工具类
- JDBC-数据库连接工具类
- JDBC工具类
- JDBC工具类
- JDBC数据库连接工具类
- jdbc工具类
- JDBC工具类
- JDBC首选工具类
- jdbc工具类
- jdbc事务工具类
- JDBC工具类
- JDBC的工具类
- JDBC 工具类
- JDBC工具类
- JDBC 工具类
- JDBC连接工具类
- php pthreads 获取货运号代码实例
- 代码整洁之道--读书笔记
- 利用Aspose.Word控件实现Word文档的操作
- 【6】BOM
- UICollectionView 瀑布流 自定义cell 与表头表尾 自适应高度
- JDBC工具类小结
- 【7】XML
- Redis高可用部署及监控
- 【8】Dom4j和XPath
- 正则表达式
- Compare Strings
- Swift中的if语句使用where
- (转帖)SQL Server处理四亿三千万记录大型项目实录
- JSON使用JsonIgnoreAttribute,ErrorHandlingAttribute,DefaultValueAttribute