package cn.javabs.dayo8;
import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;
/** * 前提是需要导入:
* 1.德鲁伊的jar包 :druid-1.1.10jar
* 2.数据库驱动包:mysql-connection-java-5.1.7-bin.jar
* 因为是工具类 采用大量的静态化操作
* Data 翻译为:数据
* Source 翻译为 : 资源
* DataSource 翻译为:数据源
* Load 翻译为:加载
* Loader 翻译为:加载器
*/
public class DruidUtils {
//1.初始化:需要定义 数据源 类
public static DataSource ds = null;//ds的值 就是null
static {
//2.读取配置文件
//汉语翻译: 类名.class.获取类加载器.获取资源作为流("配置文件的名称")|propeties是一个配置文件的类型 使用它比较方便;
InputStream inputStream = DruidUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
//3.实例化 Properties 类
Properties properties = new Properties();
try {
//4.通过props对象进行加载配置文件的输入流 **加粗样式**properties.load(inputStream);
//5.通过DruidDataSourceFactory核心类的创建数据源方法进行 赋值 给 ds
ds = DruidDataSourceFactory.createDataSource(properties); } catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* 为什么要有这个方法? 我存在就是为了让其他类可以调用我的
* 谁 调用我,我就跟谁说的数据
* @return
*/
public static DataSource getDataSource(){
return ds;
}
public static Connection getConnection(){
try {
return ds.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
DruidUtils.java
最新推荐文章于 2023-03-04 16:17:09 发布