DBCP
Posted zhai1997
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DBCP相关的知识,希望对你有一定的参考价值。
DBCP(DataBase Connection Pool)数据库连接池,由Apache公司开发。连接池的运用避免了反复建立连接造成的资源浪费,预先建立一些连接放在数据库连接池中,需要时取出,不需要时放入连接池。
需要导入两个jar包:commons-pool-1.5.6和commons-dbcp-1.4.jar
import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; public class JDBCUtils private static BasicDataSource datasource = new BasicDataSource(); /* * BasicDataSource类,实现了datasource接口 */ static // 静态代码块,对象BasicDataSource对象中的配置,自定义 InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("DBCP.properties"); Properties pro = new Properties(); try pro.load(in); catch (IOException e) e.printStackTrace(); // 数据库基本的连接信息,必须要设置(必须项) datasource.setDriverClassName(pro.getProperty("driver")); datasource.setUrl(pro.getProperty("url")); datasource.setUsername(pro.getProperty("username")); datasource.setPassword(pro.getProperty("password")); // 对象连接池中的连接数量配置,可以不设置(基本项) datasource.setInitialSize(100);// 初始化的连接数 datasource.setMaxActive(90);// 最大连接数量 datasource.setMaxIdle(10);// 最大空闲数 datasource.setMinIdle(5);// 最小空闲 // 返回BasicDataSource类的对象 public static BasicDataSource getDataSource() return datasource;
import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.ArrayListHandler; public class Test public static void main(String[] args) QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());//参数为数据源 try String sql = "select * from Student"; List<Object[]> list = qr.query(sql, new ArrayListHandler()); for (Object[] objs : list) //list集合 for (Object obj : objs) System.out.print(obj + "\\t"); System.out.println(); catch (SQLException ex) System.out.println(ex); throw new RuntimeException("数据查询失败");
以上是关于DBCP的主要内容,如果未能解决你的问题,请参考以下文章