DBCP--""连接池创建"与"资源关闭"Util类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBCP--""连接池创建"与"资源关闭"Util类相关的知识,希望对你有一定的参考价值。
1 package cn.itsource._03_dbcp; 2 3 import java.io.InputStream; 4 import java.sql.Connection; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 import java.util.Properties; 9 10 import javax.sql.DataSource; 11 12 import org.apache.commons.dbcp.BasicDataSourceFactory; 13 14 public class DBCPUtil { 15 private static DataSource dataSource; 16 //使用静态代码块,使驱动在调用工具类时就被加载,且只加载一次 17 static { 18 try { 19 //首先,创建Properties对象,用于加载properties配置文件 20 Properties prop = new Properties(); 21 //获取dbcp配置文件输入流 22 InputStream inStream = Thread.currentThread().getContextClassLoader() 23 .getResourceAsStream("dbcp.properties"); 24 /* 25 * 注:配置文件中的key必须满足BasicDataSource 26 中的setter属性,即key的值为BasicDataSource中设置连接属性"setDriverClassName(str)等几个方法中的后半部分, 27 即driverClassName,Username,Url,Password以及InitialSize(连接池启动时创建的初始化连接数量)"*/ 28 29 //加载配置文件 30 prop.load(inStream); 31 /* 32 使用BasicDataSourceFactory的静态方法createSource(prop), 33 通过已经加载了properties文件的prop对象创建DataSource连接池对象;*/ 34 dataSource = BasicDataSourceFactory.createDataSource(prop); 35 } catch (Exception e) { 36 e.printStackTrace(); 37 } 38 } 39 40 //返回Connection对象的方法 41 public static Connection getConnec() { 42 //使用DataSource的getConnection方法创建Connection对象 43 try { 44 return dataSource.getConnection(); 45 } catch (SQLException e) { 46 e.printStackTrace(); 47 } 48 return null; 49 } 50 51 //关闭资源的方法,及其异常处理 52 public static void close(ResultSet rSet, Statement state, Connection connec) { 53 try { 54 if (rSet != null) 55 rSet.close(); 56 } catch (SQLException e) { 57 e.printStackTrace(); 58 } finally { 59 60 try { 61 if (state != null) 62 state.close(); 63 } catch (SQLException e) { 64 e.printStackTrace(); 65 } finally { 66 67 try { 68 if (connec != null) 69 connec.close(); 70 } catch (SQLException e) { 71 e.printStackTrace(); 72 } 73 } 74 } 75 } 76 }
//这是properties文件的内容 driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbcdemo username=root password=4230 initialSize=5
以上是关于DBCP--""连接池创建"与"资源关闭"Util类的主要内容,如果未能解决你的问题,请参考以下文章