由于实际应用,经常频繁的调用JDBC的连接对象,若是调用完一次就关闭,下次调用再重新创建则会浪费无谓的浪费,为了减少这样的现象,引入了连接池
首先要导入jar包(pool,dbcp,dbutils,connection)
public static BasicDataSource ds =null; static{ try { ds = new BasicDataSource();//连接源对象的创建 //连接源的基本参数设置 ds.setDriverClassName("com.mysql.jdbc.Driver"); ds.setUrl("jdbc:mysql://localhost:3306/mytry"); ds.setUsername("root"); ds.setPassword("123456"); //连接源的扩展参数设置 ds.setMaxActive(8);//设置最大连接数 ds.setMaxIdle(5);//设置最大空闲数,在无连接时,最多能保留几个连接数且不被关闭 ds.setMinIdle(1);//设置最小空闲连接,空闲连接小于这个数将创建新的连接对象 ds.setInitialSize(5);//初始化连接数,连接池刚启动时创建的连接数 }catch(Exception ex) { System.out.println(ex); }接下来便是对连接池的使用
DataSource ds = JDCP.getDataSource();//获取连接源 QueryRunner qr = new QueryRunner(ds);//实例化操作对象获取连接源 String sql = "select * from try"; List<Try> list = qr.query(sql,new BeanListHandler<Try>(Try.class));//上面已经获取了连接源 所以参数不需要连接对象 for(Try key:list) { System.out.println(key);