《JAVA》——DBCP连接池

来源:互联网 发布:模糊算法的c语言实现 编辑:程序博客网 时间:2024/06/07 23:36

  上篇文章小编提到,当我们使用链接对象的时候我们就创建,使用完了就释放资源将其销毁,这样很耗费系统资源,我们利用对象连接池,就能解决这个问题,当我们调用对象对象的close()方法时,我们并没有将对象销毁,而是将其重新放回连接池中,以便下次使用。

 1、创建DBCP配置文件

driverClassName=com.mysql.jdbc.Driverurl=jdbc\:mysql\://localhost\:3306/day15username=rootpassword=123456initialSize=10maxActive=50maxIdle=20minIdle=5maxWait=60000connectionProperties=useUnicode=true;characterEncoding=utf8defaultAutoCommit=truedefaultReadOnly=        defaultTransactionIsolation=READ_COMMITTED

此配置文件封装了数据库的链接信息,包括驱动类型,连接串(url),用户名与密码,最大连接数,最小链接数,默认事物的级别等等。

  2、创建DBCPUtil工具类

public class DBCPUtil {private static DataSource dataSource;static{try {InputStream in =DBCPUtil.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");Properties props=new Properties();props.load(in);dataSource=BasicDataSourceFactory.createDataSource(props);} catch (Exception e) {throw new ExceptionInInitializerError(e);} }public static DataSource getDataSource(){return dataSource;}public static Connection getConnection(){try {return dataSource.getConnection();} catch (SQLException e) {throw new RuntimeException("获取数据库链接异常");}}}<span style="font-family:KaiTi_GB2312;font-size:18px;"></span>

  3、测试代码

public class DBCPTest {public static void main(String[] args) throws SQLException {Connection conn=DBCPUtil.getConnection();System.out.println(conn.getClass().getName());conn.close();}}

  4、小结

  DBCP数据库连接池。是apache 上的一个 java 连接池项目,也是tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

0 0
原创粉丝点击