c3p0简单使用

来源:互联网 发布:上传下载文件java代码 编辑:程序博客网 时间:2024/05/20 05:30

1.在项目中导入c3p0.jar包

2.在src目录下创建c3p0-config.xml文件

3.在xml文件中增加下列节点:

<?xml version="1.0" encoding="UTF-8"?><c3p0-config>    <!-- 如果在new的时候不指定使用哪个配置则使用下面缺省的配置  -->  <default-config>    <property name="driverClass">com.mysql.jdbc.Driver</property>      <property name="jdbcUrl">jdbc_url</property>      <property name="user">用户名</property>      <property name="password">密码</property>    <!-- 池里面的链接数量不够的时候可以再找数据库要多少个  -->    <property name="acquireIncrement">5</property>    <property name="initialPoolSize">10</property>    <property name="minPoolSize">5</property>    <property name="maxPoolSize">20</property>  </default-config>  <!-- This app is massive! -->  <named-config name="mysql"> <pre name="code" class="html">      <property name="driverClass">jdbc驱动</property>      <property name="jdbcUrl">jdbc_url</property>      <property name="user">用户名</property>      <property name="password">密码</property>
<property name="acquireIncrement">5</property><!--池里面的链接数量不够的时候可以再找数据库要多少个 --> <property name="initialPoolSize">10</property> <property name="minPoolSize">5</property> <property name="maxPoolSize">20</property> <!-- intergalactoApp adopts a different approach to configuring statement caching --> <!-- <property name="maxStatements">0</property> <property name="maxStatementsPerConnection">5</property> --> </named-config> <named-config name="oracle"> <property name="driverClass">jdbc驱动</property> <property name="jdbcUrl">jdbc_url</property> <property name="user">用户名</property> <property name="password">密码</property> <property name="acquireIncrement">5</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">5</property> <property name="maxPoolSize">20</property> </named-config></c3p0-config>

4.在项目中新建DBConnector类:

import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;public class DBConnector {//数据库连接private static ComboPooledDataSource dataSource = null;//静态块加载static{try{dataSource = new ComboPooledDataSource("mysql");}catch(Exception e){e.printStackTrace();}}//获取数据库连接public static Connection getConnection(){Connection conn = null;try {conn = dataSource.getConnection();System.out.println("获取数据库连接:"+conn);} catch (SQLException e) {e.printStackTrace();}return conn;}//关闭数据库连接public static void release(Connection conn,PreparedStatement pstmt,ResultSet rs){try{if(conn != null){conn.close();conn = null;}if(pstmt != null){pstmt.close();pstmt = null;}if(rs != null){rs.close();rs = null;}}catch(Exception e){e.printStackTrace();}}}
5.在需要获取数据库连接的时候,使用 conn = DBConnector.getConnection() 来从c3p0管理的数据库连接池中获取一个数据库连接。

6.在使用完数据库连接的时候,需要释放连接,调用DBConnector.release(conn, pstmt, rs);即可


0 0
原创粉丝点击