用jdbc连接mysql数据库(c3p0连接池篇)

来源:互联网 发布:visual foxpro是编程吗 编辑:程序博客网 时间:2024/05/18 15:52

package cn.lfd.Utils;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JdbcUtils_c3p0 {private static ComboPooledDataSource ds;static{ ds = new ComboPooledDataSource("lfd");//读取配置文件中名字为lfd的配置,不写的话读取默认配置}//从数据源中获取连接public static Connection getConnection() throws SQLException {return ds.getConnection();}//释放资源public static void release(Connection conn, Statement st, ResultSet rs) {if(conn!=null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}finally{if(st!=null) {try {st.close();} catch (SQLException e) {e.printStackTrace();}finally{if(rs!=null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}}}}}}}

c3p0-config.xml文件

<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <default-config>  <!--默认配置 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property> <property name="user">root</property> <property name="password">root</property> <property name="automaticTestTable">con_test</property> <property name="checkoutTimeout">30000</property> <property name="idleConnectionTestPeriod">30</property> <property name="initialPoolSize">20</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">30</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> <user-overrides user="test-user"> <property name="maxPoolSize">10</property> <property name="minPoolSize">1</property> <property name="maxStatements">0</property> </user-overrides> </default-config> <!-- This app is massive! --> <named-config name="lfd">    <!--名称为lfd的配置 ,自己可以自定义设置--> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property> <property name="user">root</property> <property name="password">root</property> <property name="initialPoolSize">20</property> <property name="minPoolSize">5</property> <property name="maxPoolSize">30</property> <!-- intergalactoApp adopts a different approach to configuring statement caching --><property name="maxStatements">0</property> <property name="maxStatementsPerConnection">5</property> <!-- he's important, but there's only one of him --> <user-overrides user="master-of-the-universe"> <property name="acquireIncrement">1</property> <property name="initialPoolSize">1</property> <property name="minPoolSize">1</property> <property name="maxPoolSize">5</property> <property name="maxStatementsPerConnection">50</property> </user-overrides> </named-config></c3p0-config>
注意事项:

1.c3p0-config.xml文件必须放在src目录下

2.需要的jar包:   c3p0-0.9.1.2.jar      mchange-commons-java-0.2.3.4.jar

0 0
原创粉丝点击