Java培训课之C3P0数据源

发布时间:2019年12月19日作者:atguigu浏览次数:574

C3P0数据源

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

c3p0与dbcp区别

dbcp没有自动回收空闲连接的功能

c3p0有自动回收空闲连接功能

方式一:

Java培训课程

java培训学习

步骤:

1、加入jar

如果是c3p0-0.9.1.2版本,加入一个jar即可c3p0-0.9.1.2.jar

如果是c3p0-0.9.2之后的版本,需要加入两个jar:c3p0-0.9.X.jar和mchange-commons-java-XX.jar

2、编写代码

package com.jdbc.datasource;

 

import com.mchange.v2.c3p0.ComboPooledDataSource;

 

public class TestC3P0 {

         public static void main(String[] args)throws Exception {

                  //1、创建c3p0数据源对象

                  ComboPooledDataSource ds = new ComboPooledDataSource();

                  //2、设置必须属性

                  ds.setDriverClass( “com.mysql.jdbc.Driver” );

                  ds.setJdbcUrl( “jdbc:mysql://localhost:3306/test” );

                  ds.setUser(“root”);                                 

                  ds.setPassword(“root”);

 

                  //3、获取连接

                  System.out.println(ds.getConnection());

         }

}

方式二:

java培训课

java培训学习

java培训课程

java培训学习

java培训课程

步骤:

  1. 在src目录创建 c3p0-config.xml 文件, 参考帮助文档中 Appendix B: Configuation Files 的内容
  2. 创建 ComboPooledDataSource 实例;

   DataSource dataSource = new ComboPooledDataSource(“helloc3p0”); 

  1. 从 DataSource 实例中获取数据库连接.

<?xml version=”1.0″ encoding=”UTF-8″?>

<c3p0-config>

 

         <named-config name=”helloc3p0“> 

 

                  <!– 指定连接数据源的基本属性 –>

                  <property name=”user”>root</property>

                  <property name=”password”>root</property>

                  <property name=”driverClass”>com.mysql.jdbc.Driver</property>

                  <property name=”jdbcUrl”>jdbc:mysql://localhost:3306/test</property>

 

                  <!– 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 –>

                  <property name=”acquireIncrement”>5</property>

                  <!– 初始化数据库连接池时连接的数量 –>

                  <property name=”initialPoolSize”>5</property>

                  <!– 数据库连接池中的最小的数据库连接数 –>

                  <property name=”minPoolSize”>5</property>

                  <!– 数据库连接池中的最大的数据库连接数 –>

                  <property name=”maxPoolSize”>10</property> 

         </named-config>

 

</c3p0-config>

package com.jdbc.datasource;

 

import javax.sql.DataSource;

 

import com.mchange.v2.c3p0.ComboPooledDataSource;

 

public class TestC3P02 {

         public static void main(String[] args)throws Exception {

                  DataSource dataSource = new ComboPooledDataSource(“helloc3p0“); 

                  System.out.println(dataSource.getConnection());

         }

}

JDBCUtils修改成c3p0版

package com.atguigu.utils;

 

import java.sql.Connection;

import java.sql.SQLException;

 

import com.mchange.v2.c3p0.ComboPooledDataSource;

 

public class C3p0Utils {

    //创建数据源,用的是c3p0-config.xml文件中<default-config>

    private static ComboPooledDataSource dataSource = new ComboPooledDataSource();

 

    //获取数据源对象

    public static ComboPooledDataSource getDataSource() {

         return dataSource;

    }

 

    //获取连接

    public static Connection getConnection() throws SQLException{

         return dataSource.getConnection();

    }

}

 


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训 UI/UE设计培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市高新区和发智能大厦(西安校区)