您的位置:首页 > 数据库

c3p0数据库连接池的简单使用

2017-10-28 14:29 323 查看
第一种,加载配置文件

    private static ComboPooledDataSource ds = null;

    static{

        //加载配置文件,得到数据库配置的一些信息

        Properties prop = new Properties();

        InputStream stream = JDBCUtil2.class.getResourceAsStream("/db.properties");

        try {

            prop.load(stream);

            ds = new ComboPooledDataSource();

            ds.setDriverClass(prop.getProperty("driverClassName"));

            ds.setJdbcUrl(prop.getProperty("url"));

            ds.setUser(prop.getProperty("username"));

            ds.setPassword(prop.getProperty("password"));

            ds.setCheckoutTimeout(3000);

            ds.setInitialPoolSize(5);

            ds.setMaxPoolSize(10);

            

        } catch (Exception e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }        

    }

    public static Connection getConnection() throws Exception{

        try {

            return ds.getConnection();

        } catch (SQLException e) {

            e.printStackTrace();

            throw new Exception("连接失败");

        }
    }

配置文件如下(可灵活编写):

url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

username=root

password=123456

driverClassName=com.mysql.jdbc.Driver

maxWait=3000

initialSize=5

maxActive=10

第二种,也是加载配置文件(自动加载,然后直接获取连接对象就好但文件的名字一定要为c3p0-properties);

第三种,加载xml文件(自动加载,文件名要名为c3p0-config.xml)

如下

<?xml version="1.0" encoding="UTF-8"?>

<c3p0-config>

  <default-config>  

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

    <property name="password">123456</property>

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

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

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

    <property name="checkoutTimeout">3000</property>

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

  </default-config>

 

  <named-config name="mySource">//

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

    <property name="password">123456</property>

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

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

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

     <property name="checkoutTimeout">3000</property>

    <property name="maxPoolSize">15</property>

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

  </named-config>

</c3p0-config>

 ComboPooledDataSource ds = new ComboPooledDataSource("mySource");

不指定mySource的话,默认使用default-config配置的

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c3p0