DruidUtils

前提需要導入兩個jar包:

|----德魯伊jar包 ---- druid-1.1.10.jar
|----數據庫驅動包 ---- mysql-connector-java-5.1.7-bin.jar

因爲是工具類 採用大量的靜態化操作

步驟:
  • |------1. 初始化:需要定義 數據源 類
  • |------2. 讀取配置文件
  • |------3. 實例化Properties 類
  • |------4. 通過props對象進行加載配置文件的輸入流
  • |------5. 通過DuridDataSource核心類的創建數據源方法進行 賦值給 dataSource
代碼:
package cn.javabs.user;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

/**
 * 前提需要導入兩個jar包:
 *     |----德魯伊jar包 ----  druid-1.1.10.jar
 *     |----數據庫驅動包 ----  mysql-connector-java-5.1.7-bin.jar
 * 因爲是工具類 採用大量的靜態化操作
 * 步驟:
 * |----1. 初始化:需要定義 數據源 類
 * |----2. 讀取配置文件
 * |----3. 實例化Properties 類
 * |----4. 通過props對象進行加載配置文件的輸入流
 * |----5. 通過DuridDataSource核心類的創建數據源方法進行 賦值給 dataSource
 */
public class DruidUtils {

    // 1. 初始化:需要定義 數據源 類
    public static DataSource dataSource = null; // dataSource 的值 就是 null

    static {
        // 2. 讀取配置文件
        // |-------------類名.class.獲取類加載器.獲取資源作爲流("配置文件名的名稱"); | jdbc.properties 是一個配置文件的類型 比較方便
        InputStream is = DruidUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");

        // 3. 實例化Properties 類
        Properties p = new Properties();

            // 4. 通過props對象進行加載配置文件的輸入流
        try {
            p.load(is);
            // 5. 通過DuridDataSource核心類的創建數據源方法進行 賦值給 dataSource
            dataSource = DruidDataSourceFactory.createDataSource(p);
        }catch (Exception e){
            throw new RuntimeException(e);
            }
        }

    /**
     * 爲什麼有這個方法?
     *  |----答:因爲我存在就是爲了讓其他類可以調用我的  誰調用我,我就跟誰說的數據
     */
    public static DataSource getDataSource(){
            return dataSource;
        }

    /**
     * 數據源獲取連接的方法
     */
    public static Connection getConnection(){
            try {
                return dataSource.getConnection();
            } catch (SQLException e) {
                throw new RuntimeException(e);
            }
        }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章