JDBC_数据库连接池
来源:互联网 发布:java web 高并发 编辑:程序博客网 时间:2024/06/17 13:23
数据库连接池
数据库连接池的概念
用池来管理Connection
,这可以重复使用Connection
。
有了池,所以我们就不用自己来创建Connection
,
而是通过池来获取Connection对象
。
当使用完Connection
后,调用Connection
的close()方法
也不会真的关闭Connection
,而是把Connection
“归还”给池。
池就可以再利用这个Connection
对象了。
池参数(所有池参数都有默认值):
1. 初始大小:10个
2. 最小空闲连接数:3个
3. 增量:一次创建的最小单位(5个)
4. 最大空闲连接数:12个
5. 最大连接数:20个
6. 最大的等待时间:1000毫秒
四大连接参数
连接池也是使用四大连接参数来完成创建连接对象!
实现的接口
连接池必须实现:javax.sql.DataSource接口!
连接池返回的Connection对象,它的close()方法与众不同!
调用它的close()不是关闭,而是把连接归还给池!
1-C3P0简介
C3P0也是开源免费的连接池!C3P0被很多人看好!
2-C3P0的使用
C3P0中池类是:ComboPooledDataSource。
public void fun1() throws propertyvetoexception, sqlexception { combopooleddatasource ds = new combopooleddatasource(); ds.setdriverclass("com.mysql.jdbc.driver"); ds.setjdbcurl("jdbc:mysql://localhost:3306/lingyao"); ds.setuser("root"); ds.setpassword("123"); //每次增量,当需要创建connection对象时,一次创建几个 ds.setacquireincrement(5); //当创建池对象后,池中应该有几个connection对象 ds.setinitialpoolsize(20); //池中最少connection个数,如果少于这个值,就会创建connection ds.setminpoolsize(2); //池中最大连接个数 ds.setmaxpoolsize(50); connection con = ds.getconnection(); system.out.println(con); con.close();}
配置文件要求:
文件名称:必须叫c3p0-config.xml
文件位置:必须在src下
c3p0也可以指定配置文件,而且配置文件可以是properties
,
也可以是xml
的。当然xml
的高级一些了。
但是c3p0的配置文件名必须为c3p0-config.xml,并且必须放在类路径下。
<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <default-config> <property name="jdbcUrl">jdbc:mysql://localhost:3306/lingyao</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="user">root</property> <property name="password">123456</property> <property name="acquireIncrement">3</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">2</property> <property name="maxPoolSize">10</property> </default-config> <named-config name="oracle-config"> <property name="jdbcUrl">jdbc:mysql://localhost:3306/lingyao</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="user">root</property> <property name="password">123456</property> <property name="acquireIncrement">3</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">2</property> <property name="maxPoolSize">10</property> </named-config></c3p0-config>
c3p0的配置文件中可以配置多个连接信息,
可以给每个配置起个名字,
这样可以方便的通过配置名称来切换配置信息。
上面文件中默认配置为mysql的配置,名为oracle-config的配置也是mysql的配置,呵呵。
public void fun2() throws PropertyVetoException, SQLException { ComboPooledDataSource ds = new ComboPooledDataSource(); Connection con = ds.getConnection(); System.out.println(con); con.close();}public void fun2() throws PropertyVetoException, SQLException { ComboPooledDataSource ds = new ComboPooledDataSource("orcale-config"); Connection con = ds.getConnection(); System.out.println(con); con.close();}
- JDBC_数据库连接池
- JDBC_数据库连接池(一) 介绍
- JDBC_获取数据库连接
- JDBC_数据库连接池(二) DNCP与C3P0的使用方法及代码演示
- JDBC_连接池
- java自学之路-----jdbc_事务and连接池
- JDBC_事务
- jdbc_接sql server
- 初学JDBC_第二节
- JDBC_事务的使用
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- 数据库连接池
- POJ-3126 Prime Path ( BFS )
- Spring Ehcache 整合
- BT 4.2 蓝牙工具之工欲善其事必先利其器
- [均摊 线段树] UOJ#228. 基础数据结构练习题
- Spring AOP环绕通知小例子
- JDBC_数据库连接池
- 错题本系统
- 指针数组和数组指针
- C#学习笔记(三)—–C#高级特性中的委托与事件:关于事件
- 索引
- hibernate入门
- JavaScript-Html-绘制时钟
- 关于免费的虚拟主机与虚拟主机的一些事情
- phpStudy启动失败时的解决方法 提示缺vc9运行库