package com.sf.sysdemo.util; 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; // 工具类 public class JDBCUtil { // 提供一个静态的数据源 private static DataSource dataSource; // 静态初始化块 static { Properties properties = new Properties(); // 获得类加载器 ClassLoader classLoader = JDBCUtil.class.getClassLoader(); // 加载指定配置文件 获取输入流 InputStream inputStream = classLoader.getResourceAsStream("jdbc.properties"); try { // 将输入流加载进 properties对象中 properties.load(inputStream); } catch (IOException e) { throw new RuntimeException(e); } // 通过druid提供的工厂类 来创建出数据源 try { dataSource = DruidDataSourceFactory.createDataSource(properties); } catch (Exception e) { throw new RuntimeException(e); } } // 提供数据源 public static DataSource getDataSource() { return dataSource; } // 提供数据库的连接 public static Connection getConnection(){ try { Connection connection = dataSource.getConnection(); return connection; } catch (SQLException e) { throw new RuntimeException(e); } } }