import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* drui数据库连接池工具类
*
* @author silence
*/
public class DruidUtils {
/**
* 数据库连接池
*/
private static DataSource dataSource;
//私有化构造
private DruidUtils() {
}
/*
* 加载数据库连接信息, 获得数据库连接池
*/
static {
try {
//获得类加载器,加载数据库连接文件 获得字节输入流
InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
//通过 Properties 加载数据库连接文件 到 Properties
Properties properties = new Properties();
properties.load(inputStream);
dataSource = DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获得数据库连接
*
* @return Connection 获得数据库连接对象
*/
public static Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 获得数据库连接池对象
*
* @return DataSource 获得数据库连接池对象
*/
public static DataSource getDataSource() {
return dataSource;
}
/**
* 关闭连接
*
* @param connection connection 数据库连接对象
* @param statement statement 数据库连接执行者对象
* @param resultSet resultSet 结果集
*/
public static void close(Connection connection, Statement statement, ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭连接重载
*
* @param connection connection 数据库连接对象
* @param statement statement 数据库连接执行者对象
*/
public static void close(Connection connection, Statement statement) {
close(connection, statement, null);
}
}
drui数据库连接池工具类
最新推荐文章于 2024-07-16 16:26:13 发布
关键词由CSDN通过智能技术生成