DataSourceUtil.java

  1. package com.gordon.utils;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7.  
  8. import javax.sql.DataSource;
  9.  
  10. import com.mchange.v2.c3p0.ComboPooledDataSource;
  11.  
  12. public class DataSourceUtil {
  13. private static ComboPooledDataSource ds = new ComboPooledDataSource();
  14.  
  15. /**
  16. * 获取数据源
  17. *
  18. * @return 连接池
  19. */
  20. public static DataSource getDataSource() {
  21. return ds;
  22. }
  23.  
  24. /**
  25. * 获取连接
  26. *
  27. * @return 连接
  28. * @throws SQLException
  29. */
  30. public static Connection getConnection() throws SQLException {
  31. return ds.getConnection();
  32. }
  33.  
  34. /**
  35. * 释放资源
  36. *
  37. * @param conn
  38. * 连接
  39. * @param st
  40. * 语句执行者
  41. * @param rs
  42. * 结果集
  43. */
  44. public static void closeResource(Connection conn, Statement st, ResultSet rs) {
  45. closeResultSet(rs);
  46. closeStatement(st);
  47. closeConn(conn);
  48. }
  49.  
  50. /**
  51. * 释放连接
  52. *
  53. * @param conn
  54. * 连接
  55. */
  56. public static void closeConn(Connection conn) {
  57. if (conn != null) {
  58. try {
  59. conn.close();
  60. } catch (SQLException e) {
  61. e.printStackTrace();
  62. }
  63. conn = null;
  64. }
  65.  
  66. }
  67.  
  68. /**
  69. * 释放语句执行者
  70. *
  71. * @param st
  72. * 语句执行者
  73. */
  74. public static void closeStatement(Statement st) {
  75. if (st != null) {
  76. try {
  77. st.close();
  78. } catch (SQLException e) {
  79. e.printStackTrace();
  80. }
  81. st = null;
  82. }
  83.  
  84. }
  85.  
  86. /**
  87. * 释放结果集
  88. *
  89. * @param rs
  90. * 结果集
  91. */
  92. public static void closeResultSet(ResultSet rs) {
  93. if (rs != null) {
  94. try {
  95. rs.close();
  96. } catch (SQLException e) {
  97. e.printStackTrace();
  98. }
  99. rs = null;
  100. }
  101.  
  102. }
  103. }

参考java实例中的 【综合案例】

java-数据库连接工具类 DataSourceUtil.java的更多相关文章

  1. 数据库连接工具类——包含取得连接和关闭资源 ConnUtil.java

    package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepare ...

  2. 数据库连接工具类 数据库连接工具类——仅仅获得连接对象 ConnDB.java

    package com.util; import java.sql.Connection; import java.sql.DriverManager; /** * 数据库连接工具类——仅仅获得连接对 ...

  3. MinerDB.java 数据库工具类

    MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...

  4. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  5. Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie

    Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...

  6. UrlUtils工具类,Java URL工具类,Java URL链接工具类

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

  7. Java知多少(107)几个重要的java数据库访问类和接口

    编写访问数据库的Java程序还需要几个重要的类和接口. DriverManager类 DriverManager类处理驱动程序的加载和建立新数据库连接.DriverManager是java.sql包中 ...

  8. JAVA 数据库操作工具类----sqllite

    package com.asc.db; import android.content.ContentValues; import android.content.Context; import and ...

  9. java常用工具类(java技术交流群57388149)

    package com.itjh.javaUtil;   import java.util.ArrayList; import java.util.List;   /** * * String工具类. ...

随机推荐

  1. Google map API V3

    本文主要总结Google map API V3使用中最简单也是最常见的一些操作以及相关概念,如果需要更加详细的信息,请直接阅读Google提供的关于map的文档. google map api v3文 ...

  2. Android Developers:使ListView滑动流畅

    流畅滑动ListView的关键是保持应用程序的主线程(UI线程)从免于繁重处理.确保你的任何硬盘访问,网络访问或者SQL访问在一个单独的线程中.为了测试你的应用个程序的状态,你能启动StrictMod ...

  3. RHCE7 管理II-3使用VIM编辑器

    vim的不同版本: 1.vim-minial 提供vi和相关命令.在RHEL 7的最小安装中 2.vim-enhanced 提供vim命令.提供语法突出显示.文件类型插件和拼写检查等功能 3.vim- ...

  4. Open SSH原理

    OpenSSH(免费的 SSH 的实现)类似于 telnet 或rsh,ssh 客户程序也可以用于登录到远程机器.所要求的只是该远程机器正在运行 sshd,即 ssh 服务器进程.但是,与 telne ...

  5. 共享内存简介和mmap 函数

    一.共享内存简介 共享内存区是最快的IPC形式,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据. 即每个进程地址空间都有一个共享存储器的映射区,当这块区 ...

  6. ASP.NET Helper

  7. python pandas 计算相关系数

    pandas 中df 对象自带相关性计算方法corr() , 可以用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...

  8. typedef的用法再思考

    最近重读c语法,有所感悟,记录. 有时候感悟,其实就是猜,假想,作者创建语言的想法,通俗的讲就是丹尼斯灵魂附体了,这个时候任何c语言难点对于你来说,就像吃饭喝水一样简单了,同时还能发现它优美动人之处. ...

  9. 【Android】5.7 图片库(Galery)

    分类:C#.Android.VS2015: 创建日期:2016-02-07 一.简介 图库(也叫画廊)是一个布局小部件,用于在可水平滚动的列表中显示每一副图片,当前所选的图片将置于视图的中心. 注意: ...

  10. Memory Analyzer tool(MAT)分析内存泄漏---理解Retained Heap、Shallow Heap、GC Root

    Shallow Heap Size 指对象自身所占用的内存大小,不包含其引用的对象所占的内存大小. 1.数组类型 数组元素对象所占内存的大小总和. 2.非数组类型 对象与它所有的成员变量大小的总和.当 ...