DBCP连接池

摘要:
lDBCP是Apache软件基金组织下的开源连接池实现,使用DBCP数据源,应用程序应在系统中增加如下两个jar文件:Commons-dbcp.jar:连接池的实现Commons-pool.jar:连接池实现的依赖库lTomcat的连接池正是采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用。

l DBCP 是 Apache 软件基金组织下的开源连接池实现,使用DBCP数据源,应用程序应在系统中增加如下两个 jar 文件:

  • Commons-dbcp.jar:连接池的实现
  • Commons-pool.jar:连接池实现的依赖库

l Tomcat 的连接池正是采用该连接池来实现的。该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用。

l 核心类:BasicDataSource

l 使用步骤

  • 引入jar文件
 commons-dbcp-1.4.jar
 commons-pool-1.5.6.jar
packagecom.loaderman.demo.c_dbcp;
importjava.io.InputStream;
importjava.sql.Connection;
importjava.util.Properties;
importjavax.sql.DataSource;
importorg.apache.commons.dbcp.BasicDataSource;
importorg.apache.commons.dbcp.BasicDataSourceFactory;
importorg.junit.Test;
public classApp_DBCP {
    //1. 硬编码方式实现连接池
@Test
    public void testDbcp() throwsException {
        //DBCP连接池核心类
        BasicDataSource dataSouce = newBasicDataSource();
        //连接池参数配置:初始化连接数、最大连接数 / 连接字符串、驱动、用户、密码
        dataSouce.setUrl("jdbc:mysql:///jdbc_demo");            //数据库连接字符串
        dataSouce.setDriverClassName("com.mysql.jdbc.Driver");  //数据库驱动
        dataSouce.setUsername("root");                            //数据库连接用户
        dataSouce.setPassword("root");                             //数据库连接密码
        dataSouce.setInitialSize(3);  //初始化连接
        dataSouce.setMaxActive(6);      //最大连接
        dataSouce.setMaxIdle(3000);   //最大空闲时间
        //获取连接
        Connection con =dataSouce.getConnection();
        con.prepareStatement("delete from admin where id=3").executeUpdate();
        //关闭
con.close();
    }
    @Test
    //2. 【推荐】配置方式实现连接池  ,  便于维护
    public void testProp() throwsException {
        //加载prop配置文件
        Properties prop = newProperties();
        //获取文件流
        InputStream inStream = App_DBCP.class.getResourceAsStream("db.properties");
        //加载属性配置文件
prop.load(inStream);
        //根据prop配置,直接创建数据源对象
        DataSource dataSouce =BasicDataSourceFactory.createDataSource(prop);
        //获取连接
        Connection con =dataSouce.getConnection();
        con.prepareStatement("delete from admin where id=4").executeUpdate();
        //关闭
con.close();
    }
}

db.propertes配置文件

url=jdbc:mysql:///jdbc_demo
driverClassName=com.mysql.jdbc.Driver
username=root
password=root
initialSize=3
maxActive=6
maxIdle=3000

免责声明:文章转载自《DBCP连接池》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux/Mac OS 在终端使用 code 命令打开项目 VSCodeaxios请求提交的form data格式 明明是JSON格式的参数却转成了字符串格式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python并发编程:阻塞IO

阻塞IO(blocking  IO) 在Linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样:   当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的udp包),这个时候kernel...

JavaWeb项目之博客系统(二)上

1.JDBC技术 来源:http://zengyiqiang2006.blog.163.com/blog/static/102868226201052673216733/ JDBC技术(访问数据库的一种技术) 核心主要是使用DriverManager类操作和管理实现Driver接口的实现类, 程序员只需要向这个驱动管理器类要连接对象就可以了 ( Conne...

Spring配置-数据库连接池proxool[转]

 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。   数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据...

Windows和Linux查看和更改mysql连接池

Windows: 查看: 进入mysql 输入:show variables like ‘%max_connections%’; 更改: 进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可。 Linux:...

golang mgo的mongo连接池设置:必须手动加上maxPoolSize

本司礼物系统使用了golang的 mongo库 mgo,中间踩了一些坑,总结下避免大家再踩坑 golang的mgo库说明里是说明了开启连接复用的,但观察实验发现,这并没有根本实现连接的控制,连接复用仅在有空闲连接时生效,高并发时无可用连接会不断创建新连接,所以最终还是需要程序员自行去限制最大连接才行。 废话不多说,开始上代码 GlobalMgoSessi...

HttpClient 专题

HttpClient is a HTTP/1.1 compliant HTTP agent implementation based on HttpCore.It also provides reusable components for client-side authentication, HTTP state management, and HTTP...