编写JDBCUtils工具类
时间: 2024-10-23 12:08:55 浏览: 22
jdbc连接数据库的工具类
编写一个名为`JDBCUtils`的工具类可以帮助简化JDBC操作,使其更易于维护和复用。这样的工具类通常包含一些静态方法,用于数据库连接管理、事务控制以及通用的SQL执行等功能。以下是一个简单的`JDBCUtils`设计示例:
```java
import java.sql.*;
public class JDBCUtils {
// 这里假设有一个配置文件读取数据库信息
private static final String DB_URL = ...;
private static final String USER = ...;
private static final String PASS = ...;
// 连接池初始化,实际项目会使用Spring或DBCP等库
private static final ThreadLocal<Connection> connectionPool = new ThreadLocal<>();
/**
* 获取数据库连接(懒汉式单例)
*/
public static Connection getConnection() throws SQLException {
if (connectionPool.get() == null) {
synchronized (JDBCUtils.class) {
if (connectionPool.get() == null) {
connectionPool.set(DriverManager.getConnection(DB_URL, USER, PASS));
}
}
}
return connectionPool.get();
}
/**
* 关闭当前线程的连接,如果存在
*/
public static void closeConnection() {
Connection conn = connectionPool.getAndSet(null);
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
log.error("Error closing database connection", e);
}
}
}
/**
* 执行预编译SQL并获取结果集
* @param sql SQL语句
* @param args SQL参数
* @return 结果集
* @throws SQLException
*/
public static ResultSet executeQuery(String sql, Object... args) throws SQLException {
PreparedStatement pstmt = getConnection().prepareStatement(sql, args);
return pstmt.executeQuery();
}
// 添加其他常用方法,如执行更新操作,异常处理等...
}
```
阅读全文