c3p0

c3p0

c3p0是一个开源的JDBC连接池,它相对于DBCP和Druid来说有一个更方便的配置连接方式,就是自动读取配置文件。配置文件名:c3p0-config.xml,放置与src目录下。配置文件的demo如下:

<?xml version="1.0" encoding="UTF-8"?>
 <c3p0-config> 
    <!-- 默认读的配置文件 -->
     <default-config> 
         <property name="driverClass">com.mysql.jdbc.Driver</property> 
         <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/testjdbc?characterEncoding=utf-8</property> 
         <property name="user">root</property> 
         <property name="password">123</property> 
         <property name="minPoolSize">5</property> 
         <property name="initialPoolSize">5</property> 
     </default-config>
     
     <!-- 额外的,备用的数据库,比如oracle -->
     <named-config name="mydb"> 
         <property name="driverClass">com.mysql.jdbc.Driver</property> 
         <property name="jdbcUrl">jdbc:mysql://192.168.200.200:3306/mydb?characterEncoding=utf-8</property> 
         <property name="user">root</property> 
         <property name="password">root</property> 
         <property name="minPoolSize">5</property> 
         <property name="initialPoolSize">5</property> 
     </named-config>
</c3p0-config>

默认的数据库连接使用的是default-config标签里的
当需要连接其它的数据库时,不需要再重新编辑配置文件,直接选择其它的数据库即可
在空参的时候是选择默认的default-config数据库连接
传入named-config的名字就可以直接连接其它数据库。

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import utils.JDBCUtils;

public class C3p0Demo {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stat = null;
        ResultSet rs = null;
        try {
            //创建数据库连接池对象
            ComboPooledDataSource cpds = new ComboPooledDataSource();
            /*
            //必选参数的设置
            cpds.setDriverClass("com.mysql.jdbc.Driver");//和Druid不同,Druid传的是一个对象dds.setDriver(new Driver())
            cpds.setJdbcUrl("jdbc:mysql:///testjdbc");
            cpds.setUser("root");
            cpds.setPassword("123");
            */
            //从数据库连接池中获取连接对象
            conn = cpds.getConnection();
            stat = conn.createStatement();
            String sql = "select * from users;";
            rs = stat.executeQuery(sql);
            while(rs.next()) {
                System.out.println(rs.getString("username") + "---" + rs.getString("password"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.release(conn, stat, rs);
        }
    }
}

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值