連接數據庫常用工具類(二)------C3P0Utils工具類


工具類二:

C3P0工具類:

使用步驟:

1導包

先把c3p0-0.9.1.2.jar包導入到工程Src目錄下--------》點擊File--------->project  structuer-------->libraries--------->如下圖

點擊File--------->project  structuer,如下圖

選擇libraries,如下圖

點擊右邊綠色的加號,選擇java 如圖

 

選擇工程目錄下----src目錄下-----放有c3p0-0.9.1.2.jar包的lib文件夾,然后點擊確定

 

 

 

2.封裝工具類

具體步驟:

package cn.kgc;
/**
 * C3P0連接池工具類,提供了一個規范的連接接口,javax.sql.DataSource接口
 * C3P0連接池工具類也定義了一個從連接池中獲得連接的方法 get Connection ();
 */

import com.mchange.v2.c3p0.ComboPooledDataSource;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 使用步驟:
 * 1.先導入jar包
 * 2.在成員變量位置創建一個靜態ComboPooledDataSource對象
 * 3.在靜態代碼塊中,使用ComboPooledDataSource的對象的 setxxx()方法設置數據庫連接:
 * 其中包括:注冊驅動、jdbcUrl、用戶名:root、用戶密碼root(我的是大寫的)
 * 4.定義一個靜態方法,使用ComboPooledDataSource對象,獲得數據庫連接Connection
 * 5.定義一個釋放資源的方法
 */
public class C3P0Utils {
    //2.創建一個ComboPooledDataSource對象
    public static ComboPooledDataSource dataSource = new ComboPooledDataSource();

    //3.在靜態代碼塊中使用ComboPooledDataSource對象,的setxxx方法來設置數據庫連接
    static {
        try {
            //注冊驅動
            dataSource.setDriverClass("com.mysql.jdbc.Driver");
            //設置URL
            dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day10");
            //設置用戶名
            dataSource.setUser("root");
            //設置密碼
            dataSource.setPassword("ROOT");
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
    }

    //定義一個靜態方法,通過ComboPooledDataSource的對象,來獲得數據庫連接Connection對象
    public static Connection getConnection() {
        try {
            return dataSource.getConnection();
        } catch (SQLException e) {
            //避免異常時,程序繼續運行
            throw new RuntimeException("數據庫連接失敗" + e);
        }
    }

    //定義一個方法用來釋放資源
    public static void close(ResultSet rs, Statement stat, Connection conn) {
    if(rs!=null){
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(stat!=null){
        try {
            stat.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(conn!=null){
        try {
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM