虚位以待(AD)
虚位以待(AD)
首页 > 数据库 > DB2数据库 > 创建C3P0数据源

创建C3P0数据源
类别:DB2数据库   作者:码皇   来源:BDCHome的博客     点击:

[Author]: kwu创建C3P0数据源,实际开发中直接用JDBC连接数据库是非常少的,一般使用数据源的形式,C3P0是开源的数据源,实际项目用得很多:1、增加maven的支持c3p0< groupId>

创建C3P0数据源,实际开发中直接用JDBC连接数据库是非常少的,一般使用数据源的形式,C3P0是开源的数据源,实际项目用得很多:

1、增加maven的支持

 

    c3p0 c3p0 0.9.1.2

2、配置C3P0,默认配置文件c3p0-config.xml:

 

 

    root jdbc:mysql://localhost:3306/charts com.mysql.jdbc.Driver root 5 5 5 10 25 5

3、引用数据源

 

 

    package com.hexun.utils;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.sql.DataSource;
    import com.mchange.v2.c3p0.ComboPooledDataSource;
    /** * JDBC 的工具类 * * 其中包含: 获取数据库连接, 关闭数据库资源等方法. */public class JDBCTools {
    //处理数据库事务的 //提交事务 public static void commit(Connection connection){
    if(connection != null){
    try {
    connection.commit();
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    //回滚事务 public static void rollback(Connection connection){
    if(connection != null){
    try {
    connection.rollback();
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    //开始事务 public static void beginTx(Connection connection){
    if(connection != null){
    try {
    connection.setAutoCommit(false);
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    private static DataSource dataSource = null;
    //数据库连接池应只被初始化一次. static{
    dataSource = new ComboPooledDataSource("c3p0");
    }
    public static Connection getConnection() throws Exception {
    return dataSource.getConnection();
    }
    public static void releaseDB(ResultSet resultSet, Statement statement, Connection connection) {
    if (resultSet != null) {
    try {
    resultSet.close();
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if (statement != null) {
    try {
    statement.close();
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if (connection != null) {
    try {
    //数据库连接池的 Connection 对象进行 close 时 //并不是真的进行关闭, 而是把该数据库连接会归还到数据库连接池中. connection.close();
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    }

引用时直接调用静态方法即可。
相关热词搜索: 数据源