连接池-DBCP-C3P0
来源:互联网 发布:淘宝千牛客服怎么设置 编辑:程序博客网 时间:2024/06/07 13:55
A:DBCP:是Apache软件基金组织下的开源连接池实现,使用DBCP数据源,应用程序应在系统中增加如下两个jar文件:
Commons-dbcp.jar:连接池的实现
Commons-pool.jar:连接池实现的依赖库
B:Tomcat的连接池正是采用DBCP连接池来实现,该数据库连接池既可以与应用整合使用,也可以由程序独立使用
C:DBCP连接池应用如下(之前需要在项目下的src下创建dbcpconfig.properties来存储配置信息):
//先得到连接池
private static DataSource dataSource;
static{
try {
//创建properties对象,来获取配置文件中的信息
Properties pro=new Properties();
pro.load(DBCPUtil.class.getResourceAsStream("dbconfig.properties"));
//得到连接池对象,同时获取配置文件中的信息给连接池使用
dataSource=BasicDataSourceFactory.createDataSource(pro);
} catch (Exception e) {
throw new RuntimeException("连接池初始化失败");
}
}
public static Connection getConnection() throws SQLException
{
return dataSource.getConnection();
}
public static void release(Connection conn,ResultSet rs,PreparedStatement ps)
{
try {
if (conn!=null) {
conn.close();
}
if (rs!=null) {
rs.close();
}
if (ps!=null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//在调用connection对象时,可以直接通过类调用
public static void main(String[] args) {
Connection conn=null;
PreparedStatement ps=null;
try {
conn=DBCPUtil.getConnection();
String sql="";
ps=conn.prepareStatement(sql);
ps.setString(1,"");
//.....
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
};
}
D:C3P0:是一个开源的JDBC连接池,它实现了数据源和JNDI(是 Java 命名与目录接口(Java Naming and Directory Interface)),支持JDBC3和JDBC2的标志,目前使用它的开源项目有Hibernate,spring等
E:C3P0和dbcp的区别:dbcp没有自动回收空闲连接的功能,C3P0有自动回收空闲连接功能
F:C3P0:建立C3P0连接池需要在事先在项目下的src下创建一个名为c3p0-config.xml的XML文档,需要
导入c3p0-jar包
H:配置信息c3p0-config.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/db1</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
<property name="maxStatements">200</property>
<user-overrides user="test-user">
<property name="maxPoolSize">10</property>
<property name="minPoolSize">1</property>
<property name="maxStatements">0</property>
</user-overrides>
</default-config>
</c3p0-config>
I:c3p0连接池的建立代码如下:
public class C3P0Util {
//创建连接池对象
private static ComboPooledDataSource dataSource= new ComboPooledDataSource();
public static ComboPooledDataSource getDataSource() {
return dataSource;
}//得到连接池的对象
public static Connection getConnection() throws SQLException
{
return dataSource.getConnection();
}
public static void release(Connection conn,PreparedStatement ps,ResultSet rs)
{
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
if(ps!=null)
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
if(rs!=null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//调用connection时可以直接调用C3P0中的方法,代码如下:
public class TestDemo {
public static void main(String[] args) {
Connection conn=null;
PreparedStatement ps=null;
try {
conn=C3P0Util.getConnection();//得到connection对象
String sql="";
ps=conn.prepareStatement(sql);
ps.setString(1, "");
//....
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
0 0
- 连接池-DBCP-C3P0
- 连接池-C3P0、DBCP
- C3P0和DBCP连接池
- DBCP与C3P0连接池
- 连接池 DBCP和 C3P0
- JDBC连接池 DBCP C3P0
- DBCP连接池和C3P0连接池
- DBCP和C3P0连接池常用配置
- java数据连接池 c3p0 dbcp proxool
- java—连接池 C3p0 DBCP
- Java连接池优化 DBCP/C3P0
- dbcp和c3p0数据连接池比较
- DBCP和C3P0连接池配置介绍
- Java基础之 连接池 dbcp c3p0
- 数据库连接池 DBCP、C3P0、Druid 连接代码
- DBCP与C3P0连接池组件
- c3p0和dbcp连接池解析
- dbcp,c3p0,proxool,bonecp连接池比较
- Oracle数据库查看表的高水位线
- 网络配置及远程管理
- Spring Boot的数据访问
- linux驱动:i2c驱动(一)
- 2-SAT学习总结
- 连接池-DBCP-C3P0
- 米洛个人修炼术:情绪的四种常用处理方式,其实都是有问题的
- Listener监听器
- Ajax.java
- R语言中的负整数索引
- Filter过滤器
- 170115
- Oracle数据库中会话、连接、进程3者之间的关系
- stm32 uart打印