dbcp读取配置文件的方式:

1. 导入3个包:commons-dbcp-...  .jar(数据源) commons-collections-.....jar(集合) commons-pool....jar(连接池)   dbcp依赖 collections和pool

2.新建 *.properties属性文件,内容如下:

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/dbName

username=root

password=root

#<!-- 初始化连接-->

initialSize=10

maxActive=50

minIdle=5

maxWait=5000

  .

    .

    .     属性

3.创建通用连接:

  

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class DbcpTool {
public static Connection dbcpWithDataSourceFactory() throws Exception{
Connection conn=null;
InputStream inputStream=DbcpTool.class.getClassLoader().getResourceAsStream("dbcp.properties");
Properties properties=new Properties();
properties.load(inputStream);
DataSource dataSource=BasicDataSourceFactory.createDataSource(properties);
conn=dataSource.getConnection();
return conn;
}
public static void close(Connection conn){
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(PreparedStatement prst){
try {
if(prst!=null){
prst.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(ResultSet rs){
try {
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void close(PreparedStatement prst,Connection conn){
close(prst);
close(conn);
}
public static void close(ResultSet rs,PreparedStatement prst,Connection conn){
close(rs);
close(prst);
close(conn);
}

}

DBCPTool的更多相关文章

  1. initialSize,maxTotal,maxIdle,minIdle,maxWaitMillis

    初始化连接数:默认值 0 同一时刻可分配最大连接数:默认值 8 ,设置为负数时不做限制 最大空闲连接,默认值 8 ,超出连接将被释放 最小空闲连接数,默认值 0 请求连接最大等待时间(毫秒),默认值 ...

随机推荐

  1. standford情感分析代码开源地址

    http://nlp.stanford.edu/sentiment/code.html

  2. PPAPI插件的动态创建、改动、删除

    一旦你完毕了PPAPI插件的开发,实际使用时可能会有下列需求: 动态创建PPAPI插件 删除PPAPI插件 改变PPAPI插件的尺寸 实现起来非常easy,从JS里直接訪问DOM(BOM)就可以.以下 ...

  3. AsyncTask源代码解析

    快要毕业了.近期在阿里巴巴校园招聘面试,一面过了,感觉挺轻松,可能是运气好.面试官感觉比我腼腆一些.我俩从android绕到了spring mvc 到数据库悲观锁 到linux 然后又会到了andro ...

  4. TNS-01201: Listener cannot find executablen 错误

    近期在启动监听器的时候收到了TNS-01201: Listener cannot find executable...的错误提示.这个错误还真是一个一直没有碰到过的错误.咋一看还真不明确是怎么一回事呢 ...

  5. ListView的异步载入(笔记,多线程和AsyncTask)

    异步载入最经常使用的两种方式: 多线程,线程池     AsyncTask 实例操作: 从一个站点上获取Json数据.然后将数据在ListView上显示. 1.创建item_layout布局 , 改动 ...

  6. crazyflie2.0 RCC时钟知识

    因为眼下手里仅仅有16MHZ的2520封装的贴片晶振,8MHZ这样的封装做不到这么小,所以就先用16MHZ,这样我们就须要改动程序相关的RCC时钟: 1,stm32f4xx.h #define HSE ...

  7. 九度OJ 1121:首字母大写 (字符串处理)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2865 解决:1007 题目描述: 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母. 在字符串中,单词 ...

  8. [洛谷P3941] 入阵曲

    题目背景 丹青千秋酿,一醉解愁肠. 无悔少年枉,只愿壮志狂. 入阵曲 题解在代码里. #include<iostream> #include<cstdio> #include& ...

  9. 阿里妈妈-RAP项目的实践(3)

    接下来,我们就把我们的代码运用到项目中,因为我们前台是有jquery,后台管理系统是用angularjs mock在这两种的调用方式不一样,所以我就用nginx的proxy_pass 来代理 我在项目 ...

  10. Unity导包配置详解

    Player Settings is where you define various parameters (platform specific) for the final game that y ...