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);
            }
        }
}

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