简单的C3P0数据库连接池配置方法
来源:互联网 发布:mm国家域名 编辑:程序博客网 时间:2024/06/02 16:12
1先写XML配置文件,其中给出了C3P0访问数据库的一些连接信息,文件的名字为c3p0-config.xml
<c3p0-config> <default-config> <property name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> <property name="jdbcUrl">jdbc:sqlserver://127.0.0.1:1433</property> <property name="user">stu</property> <property name="password">123</property> <property name="acquireIncrement">5</property> <property name="initialPoolSize">10</property> <property name="maxPoolSize">20</property> </default-config> <named-config name="SQLServer"> <property name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> <property name="jdbcUrl">jdbc:sqlserver://127.0.0.1:1433</property> <property name="user">stu</property> <property name="password">123</property> <property name="acquireIncrement">5</property> <property name="initialPoolSize">10</property> <property name="maxPoolSize">20</property> </named-config></c3p0-config>
在上面的配置中,default-config元素指明了默认的连接配置,在之后的程序中,如果没有指明使用的配置名称,或者给出的配置名称无法找到,则采用该配置。
named-config元素指明了具有名称的连接配置,名称通过name属性指明。在程序中,可以在初始化c3p0的时候,指明与name属性一致的配置信息,程序会通过提供的名字,查找该xml文件,找到相应的配置,初始化连接池。
property元素指明了每一个配置的关键参数,这些参数由name属性指明,如driverClass表示驱动类的全称,jdbcUrl对应了url等,与数据库连接池相关的配置无外乎初始的连接数量,每次增加的连接数量和连接的最高上限,这些信息从例子给出的名称中可以猜出。
2写好上述配置文件后,将它放在src目录的根目录下,注意一定是src的根目录,然后在src的对应包中,写程序,初始化连接池,这个程序的代码为:
package edu.bjfu;import com.mchange.v2.c3p0.ComboPooledDataSource;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * Created by dan on 2015/12/2. */public class C3P0JdbcUtil { private static ComboPooledDataSource ds = null; static { try{ ds = new ComboPooledDataSource("SQLServer"); }catch (Exception e){ e.printStackTrace(); } } public static Connection getConnection() throws SQLException{ return ds.getConnection(); } public static void release(Connection conn, Statement st, ResultSet rs){ if (rs != null){ try{ rs.close(); }catch(Exception e){ e.printStackTrace(); } } if (st != null){ try{ st.close(); }catch(Exception e){ e.printStackTrace(); } } if (conn != null){ try{ conn.close(); }catch(Exception e){ e.printStackTrace(); } } }}
程序中比较重要的是ds = new ComboPooledDataSource(“SQLServer”);这段代码,其中SQLServer就是我们刚刚在配置文件中说到的连接的名字,通过这个名字找到对应的配置信息,初始化连接池。这个类一般都声明成工具类,同时,表示数据库连接池的对象从资源使用的角度考虑,也只能有一个,所以采用了类变量表示连接池的对象。
3上层的业务类可以调用该对象的getConnection方法获取数据库的连接,在连接使用完成后,可使用release方法释放申请的资源。
package edu.bjfu;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Main { public static void main(String[] args) { try { //Connection conn = JdbcUtil.getConnection(); //Connection conn = DbcpJdbcUtil.getConnection(); Connection conn = C3P0JdbcUtil.getConnection(); Statement stmt = conn.createStatement(); String sql = "select sn,sex from s"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ System.out.println(rs.getString("sn") + " " + rs.getString("sex")); } C3P0JdbcUtil.release(conn, stmt, rs); } catch (SQLException e) { e.printStackTrace(); } }}
0 0
- 简单的C3P0数据库连接池配置方法
- c3p0数据库连接池的简单配置
- C3P0数据库连接池的配置
- c3p0数据库连接池的配置
- c3p0 数据库连接池配置
- C3P0数据库连接池配置
- c3p0数据库连接池配置
- c3p0数据库连接池的简单使用
- C3p0数据库连接池的的配置
- c3p0数据库连接池的配置详解
- C3p0数据库连接池的创建方法
- springboot 使用c3p0数据库连接池的方法
- Spring+C3P0数据库连接池配置
- Spring+C3P0数据库连接池配置
- c3p0数据库连接池数据源配置
- C3P0数据库连接池相关配置
- C3P0数据库连接池配置攻略
- Spring+C3P0数据库连接池配置
- Android TextView 设置删除线
- sqlite 超小白笔记
- ReactJS入门学习二
- 诊断Java中的内存泄露
- 第一篇Blog……
- 简单的C3P0数据库连接池配置方法
- Android 通知栏Notification的整合
- Redis:redission 源代码剖析1 连接建立
- 欢迎使用CSDN-markdown编辑器
- logback 結構
- Oracle截取字符串
- MySQL的btree索引和hash索引
- 小菜的性能日记 1
- 总结一种线性复杂度求两个数组(容器)求相同元素个数的方法