c3p0连接池
【摘要】
c3p0连接池
一、创建c3p0链接
1、创建配置文件,配置文件的路径必须在classPath路径。配置文件的名称必须是 c3p0-config.xml
2、配置文件实例截图如下:
3、配置文件内容:
<?xml version="1.0" encoding="UTF-8"?><c3p0-c...
c3p0连接池
一、创建c3p0链接
1、创建配置文件,配置文件的路径必须在classPath路径。配置文件的名称必须是 c3p0-config.xml
2、配置文件实例截图如下:
3、配置文件内容:
-
<?xml version="1.0" encoding="UTF-8"?>
-
<c3p0-config><!-- 配置的根元素 -->
-
<!-- 默认配置,如果没有指定则使用这个配置 -->
-
<default-config>
-
<!-- 连接的超时间时间,以秒 -->
-
<property name="checkoutTimeout">3000</property>
-
<!-- 空闲检查间隔,检查是否connection没有人用 -->
-
<property name="idleConnectionTestPeriod">1000</property>
-
<!-- 初始化的池大小 -->
-
<property name="initialPoolSize">3</property>
-
<!-- 最多有几个连接 -->
-
<property name="maxPoolSize">5</property>
-
<!-- 最少有几个连接 -->
-
<property name="minPoolSize">3</property>
-
<property name="autoCommitOnClose">true</property>
-
<!-- 如果池中数据连接不够时一次增长多少个 -->
-
<property name="acquireIncrement">2</property>
-
<!-- connection最大的空闲时间 -->
-
<property name="maxIdleTime">1000</property>
-
<!--
-
connection是从java代码到数据库的连接。所有statement都在上面传递sql语句。
-
那到这个connectoin最多可以同时让多少statement在上面传递数据呢?
-
-->
-
<property name="maxStatements">50</property>
-
<!-- 以下连接信息 -->
-
<property name="driverClass">com.mysql.jdbc.Driver</property>
-
<property name="jdbcUrl">
-
<![CDATA[jdbc:mysql://127.0.0.1:3306/long1?useUnicode=true&characterEncoding=UTF-8]]>
-
</property>
-
<property name="user">root</property>
-
<property name="password">123456</property>
-
</default-config>
-
<named-config name="myconfig">
-
<!-- 以下连接信息 -->
-
<property name="driverClass">com.mysql.jdbc.Driver</property>
-
<property name="jdbcUrl">
-
<![CDATA[jdbc:mysql://127.0.0.1:3306/long1?useUnicode=true&characterEncoding=UTF-8]]>
-
</property>
-
<property name="user">root</property>
-
<property name="password">123456</property>
-
</named-config>
-
</c3p0-config>
4、创建c3p0连接池实例
-
package com.test.c3p0;
-
-
import java.sql.Connection;
-
import java.sql.SQLException;
-
-
import javax.sql.DataSource;
-
-
import com.mchange.v2.c3p0.ComboPooledDataSource;
-
-
public class C3p0Create {
-
-
//1、申明一个datasource变量
-
private static DataSource datasource;
-
-
//2、获取c3p0链接池对象
-
static{
-
//以下实例化comboPooledDataSource默认读取classpath下的c3p0-config.xml
-
//可以接收一个字符串,说明连接c3p0-config.xml中的哪一个命名的连接
-
datasource = new ComboPooledDataSource();
-
}
-
-
//3、创建DataSource和Connection两个连接池的方法
-
public static DataSource getDataSource(){
-
return datasource;
-
}
-
-
public static Connection getConnection(){
-
Connection con = null;
-
try {
-
con = datasource.getConnection();
-
} catch (SQLException e) {
-
-
e.printStackTrace();
-
}
-
return con;
-
}
-
}
二、测试获取连接池,操作数据库
-
package com.test.test;
-
-
import java.sql.SQLException;
-
import java.util.List;
-
-
-
-
-
-
-
-
-
import org.apache.commons.dbutils.QueryRunner;
-
import org.apache.commons.dbutils.handlers.ArrayListHandler;
-
import org.junit.Test;
-
-
import com.test.c3p0.C3p0Create;
-
-
public class C3p0Test {
-
/*
-
* 测试获取C3p0连接池
-
*
-
*/
-
@Test
-
public void query() throws SQLException{
-
//1、申明QueryRunner对象执行SQL语句
-
QueryRunner run = new QueryRunner(C3p0Create.getDataSource());
-
System.out.println(run);
-
System.out.println(C3p0Create.getDataSource());
-
-
-
//2、查询语句
-
String sql = "select * from student";
-
-
-
//3、执行sql语句
-
List<Object[]> list = run.query(sql, new ArrayListHandler());
-
-
-
//4、遍历结果集
-
System.out.println("c3p0链接查询结果:");
-
for(Object[] ls:list){
-
System.out.println("\n");
-
for(Object l:ls){
-
System.out.println(l);
-
}
-
}
-
}
-
}
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/78085145
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)