DBCP的使用步骤
步骤一:
导包,使用第三方的道具,必须导入相应的jar包。

一般需要导入两个jar包:
  -commons-dbcp-1.x.jar包
  -commons-pool-1.x.x.jar包

步骤二:

使用代码~看看下面代码的演示吧

/*
* 采用DBCP连接池技术,管理连接
*/ public class DBUtil2 { private static BasicDataSource ds; //为不同线程管理连接
private static ThreadLocal<Connection> t1; static{ try{
//从配置文件读取数据库连接的参数
Properties prop=new Properties();
InputStream is=DBUtil2.class.getClassLoader().getResourceAsStream("config2.properties"); prop.load(is);
is.close(); //初始化连接池
ds=new BasicDataSource(); //加载数据库
ds.setDriverClassName(prop.getProperty("driver")); //设置url
ds.setUrl(prop.getProperty("url")); //设置数据库用户名和密码
ds.setUsername(prop.getProperty("user"));
ds.setPassword(prop.getProperty("psw")); //其他关于连接数量等等的参数的设置
ds.setInitialSize(Integer.parseInt(prop.getProperty("initsize")));
/*此方法不支持已经不支持了?
* ds.setMaxActive(Integer.parseInt(prop.getProperty("maxactive")));
*/
ds.setMaxWaitMillis(Integer.parseInt(prop.getProperty("maxwait")));
ds.setMaxIdle(Integer.parseInt(prop.getProperty("maxidle")));
ds.setMinIdle(Integer.parseInt(prop.getProperty("minidle"))); //初始化线程本地TreadLocal
t1=new ThreadLocal<Connection>(); }catch(Exception e){
e.printStackTrace();
} } public static Connection getConnection() throws SQLException{
Connection conn=ds.getConnection();//从连接池中取一个连接 t1.set(conn);
return conn;
} public static void closeConnection(){
try{
Connection conn=t1.get();
if(conn!=null){ //恢复连接为自动提交事务(此处用于事务处理)
conn.setAutoCommit(true); /*
* 通过连接池获取的Connection的close()方法,
* 实际上并没有将连接关闭,而是将该连接归还。
*/
conn.close();
t1.remove();
}
}catch(Exception e){
               e.printStackTrace();
               }
} }

PS:

此处亦用到了ThreadLocal(线程本地)的知识,请参照以下连接

http://www.cnblogs.com/dreamroute/p/5034726.html

采用DBCP连接池技术管理连接的更多相关文章

  1. JDBC实例--JDBC连接池技术解密,连接池对我们不再陌生

    一.为什么我们要用连接池技术? 前面的数据库连接的建立及关闭资源的方法有些缺陷.统舱传统数据库访问方式:一次数据库访问对应一个物理连接,每次操作数据库都要打开.关闭该物理连接, 系统性能严重受损. 解 ...

  2. 线程池-连接池-JDBC实例-JDBC连接池技术

    线程池和连接池   线程池的原理:     来看一下线程池究竟是怎么一回事?其实线程池的原理很简单,类似于操作系统中的缓冲区的概念,它的流程如下:先启动若干数量的线程,并让这些线程都处于睡眠状态,当客 ...

  3. 走进JavaWeb技术世界3:JDBC的进化与连接池技术

    走进JavaWeb技术世界3:JDBC的进化与连接池技术 转载公众号[码农翻身] 网络访问 随着 Oracle, Sybase, SQL Server ,DB2,  Mysql 等人陆陆续续住进数据库 ...

  4. 开源的连接池技术DBCP和C3P0

    概述: Sun公司约定: 如果是连接池技术,需要实现一个接口! javax.sql.DataSource;   相关jar包和资料下载 1.1  DBCP连接池: l  DBCP 是 Apache 软 ...

  5. 解密httpclient,dbcp,jedis,c3p0,druid,okhttp都在使用的连接池技术

    最近在连接池上面栽了个跟头(参见这里),引起我对池技术的强烈关注,这几天总结了一下很多场景都会使用的池技术: 池概念 pool,中文翻译为水池,但是在英文中,还有一种解释是 an organizati ...

  6. Mybatis 的连接池技术

    我们在前面的 WEB 课程中也学习过类似的连接池技术,而在 Mybatis 中也有连接池技术,但是它采用的是自 己的连接池技术.在 Mybatis 的 SqlMapConfig.xml 配置文件中,通 ...

  7. 2017.10.21 Java中的数据源与连接池技术

    1.数据源技术就是预先建立好一定的数量的数据库连接,并将这些连接保存在连接池中,有连接池负责对这些数据库连接管理,当访问数据库时,只需要从连接池中取出有空闲状态的数据库连接:当程序访问数据库结束时,释 ...

  8. DBCP连接池与c3p0连接池

    1.   DBCP连接池

  9. Java Redis系列3(Jedis的使用+jedis连接池技术)

    Jedis的使用 什么是Jedis? 一款Java操作redis数据库的工具 使用步骤 1.下载redis所需的java包 2.使用步骤 import org.junit.Test; public c ...

随机推荐

  1. 家庭路由器设置以及win10链接无线不显示登录密码 直接提示链接出错问题解决

    家庭路由器设置 网线插入WAN口,用网客户端接在LAN口,就是路由器模式 LAN→WAN设置:电脑→第二个路由器LAN→进入设置界面: 网络参数→WAN口设置→WAN口连接类型→动态IP→保存. 网络 ...

  2. Qt文件路径分隔符

    QDir::toNativeSeparators()QDir::separator()

  3. (转)EClipse插件推荐

    http://www.importnew.com/4707.html 来自非营利性Eclipse基金会的Eclipse IDE以其插件生态系统著称.Eclipse市场拥有海量插件可供下载,你可以通过插 ...

  4. 使用 PowerDesigner 和 PDMReader 逆向生成 MySQL 数据字典

    下面提到的软件大家可以在下面的链接下载. 大家可以参考下面的操作录制视频来完成相关的操作. 使用 PowerDesigner 和 PDMReader 逆向生成 MySQL 数据字典.wmv_免费高速下 ...

  5. partial class的使用范围

    Partial Class,部分类 或者分布类.顾名思义,就是将一个类分成多个部分.比如说:一个类中有3个方法,在VS 2005将该类中3个方法分别存放在3个不同的.cs文件中. 这样做的好处: 1. ...

  6. Ubuntu菜鸟入门(二)—— apt认知,且完善语言安装包

    一  语言安装包安装 1  原因 虽然安装的中文版,但是由于安装包很小,所以汉化的不够完全,所以要安装后,再下载语言包进行安装 2  方法 二  apt--软件包管理器 1   软件源 (1) 介绍 ...

  7. 首师大附中互测题:50229234海岛帝国:独立之战【C002】

    [C002]50229234海岛帝国:独立之战[难度C]———————————————————————————————————————————————————————————————————————— ...

  8. PDO连接数据库

    PDO连接数据库 PDO简介和配置 php.ini extension=php_pdo.dll extension=php_pdo_myysql.dll PDO连接MYSQL new PDO(&quo ...

  9. C# 与 C++ 数据类型比较及结构体转换

    引自:http://www.blogjava.net/heting/archive/2010/03/20/315998.html   C++            C# =============== ...

  10. [Python学习] Linux环境下的Python配置,必备库的安装配置

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...