首先,c3p0是一个连接池插件

需要jar包:

  

使用手动配置:

/**
* 手动配置使用c3p0
* @throws PropertyVetoException
* @throws SQLException
*/
@Test
public void fun1() throws PropertyVetoException, SQLException{
//创建连接池对象
ComboPooledDataSource dataSource=new ComboPooledDataSource(); //对池进行四大参数的配置
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/demo");
dataSource.setUser("guodaxia");
dataSource.setPassword("961012gz"); //池配置
dataSource.setAcquireIncrement(5);
dataSource.setInitialPoolSize(20);
dataSource.setMinPoolSize(2);
dataSource.setMaxPoolSize(50); Connection con=dataSource.getConnection();
System.out.println(con);
con.close();
}

c3p0允许通过xml配置,类似于hibernate.cfg.xml一样:

c3p0配置要求:
文件名称:必须叫c3p0-config.xml
文件位置:必须在src下

c3p0-config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<!-- 默认连接配置 -->
<default-config>
<!-- 连接四大参数配置 -->
<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/demo</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">guodaxia</property>
<property name="password">961012gz</property>
<!-- 池参数配置 -->
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</default-config> <!-- 专门连接oracle的,模拟 -->
<named-config name="oracle-config"> <!-- 注意,这里是named-config而不是name-config,否则取读不到配置信息 -->
<!-- 连接四大参数配置 -->
<property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/demo</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">guodaxia</property>
<property name="password">961012gz</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>

使用配置文件中的默认配置:

/**
* 配置文件的默认配置
* @throws SQLException
*/
@Test
public void fun2() throws SQLException{
/**
* 在创建连接池对象的时候,对象就会自动加载配置文件,不需要我们指定
*/
ComboPooledDataSource dataSource=new ComboPooledDataSource();
Connection con=dataSource.getConnection();
System.out.println(con);
con.close();
}

配置文件中可以配置多歌配置信息,可以手动选择:

使用指定配置:

/**
* 使用命名配置
* @throws SQLException
*/
@Test
public void fun3() throws SQLException{
/**
* 构造器的参数指定了命名配置元素的鄂明成
* <name-config name="oracle-config">
*/
ComboPooledDataSource dataSource=new ComboPooledDataSource("oracle-config");
Connection con=dataSource.getConnection();
System.out.println(con);
con.close();
}

c3p0之后的jdbc连接池:

package cn.itcast.jdbc;

import java.sql.Connection;
import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class JdbcUtils {
/*
* 配置文件的恶魔人配置!要求你必须给出c3p0-config。xnl!
*/
private static ComboPooledDataSource dataSource=new ComboPooledDataSource(); /**
* 使用连接池返回一个连接对象
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
} /**
* 返回连接池对象
* @return
*/
public static DataSource getDataSource(){
return dataSource;
}
}

最新文章

  1. 【记录】ASP.NET MVC MapRoute .htm 不起作用
  2. oracle远程连接配置
  3. php [] array的区别
  4. 学习Node.js笔记(一)
  5. CI框架获取post和get参数 CodeIgniter
  6. HTML5 文件域+FileReader 分段读取文件(四)
  7. MSA2312 enclosure 闪断后
  8. JQuery学习笔记——层级选择器
  9. CentOS7 nginx简单配置pathinfo模式(ThinkPHP)
  10. Sharing The Application Tier File System in Oracle E-Business Suite Release 12.2
  11. (一一五)利用NSKeyedArchiver实现任意对象转为二进制
  12. Eclipse格式化整个项目
  13. JAVA 列表输入学生的信息
  14. 在Unity 3D中加入Image图片
  15. PHP载入GIF图像造成服务器宕机(CVE-2018-5711)的漏洞复现
  16. C++的一些知识
  17. 分布式队列celery 异步----Django框架中的使用
  18. echarts横向柱状图如果想打开网址
  19. 分析iOS Crash文件,使用命令符号化iOS Crash文件
  20. Faiss教程:入门

热门文章

  1. IntelliJ idea——》删除tag
  2. ubuntu 查看服务列表
  3. ASP.NET动态网站制作(23)-- ADO.NET(2)
  4. iOS 平台如何使用 TestFlight 进行 Beta 测试
  5. 九度OJ 1191:矩阵最大值 (矩阵计算)
  6. php递归删除所有文件
  7. linux c编程:线程创建
  8. js实现粘贴板复制
  9. python 发送邮件的两种方式【终极篇】
  10. HTTP基础概念讲解