import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class DBUtils {
//利用Properties类读取properties配置文件
private static Properties prop = new Properties();
static{
InputStream in = null;
//利用类加载器去获取资源
in = DBUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
try{
prop.load(in);//从输入流中读取属性列表(键和元素对)。
Class.forName(prop.getProperty("driver"));//加载驱动
}catch(Exception e){
e.printStackTrace();
}finally{
if(in != null){//判断是否为空才关闭资源
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 获取连接
* @return
*/
public static Connection getConnection(){
Connection conn = null;
try {
conn = DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("username"), prop.getProperty("password"));
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 执行编译
* @param conn
* @param sql
* @return
*/
public static PreparedStatement getPreparedStatement(Connection conn,String sql){
PreparedStatement stmt = null; //定义一个预编译对象
try {
stmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}
/**
* 释放资源
* @param conn
* @param stm
* @param rs
*/
public static void releaseResource(Connection conn,Statement stm,ResultSet rs){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs = null;
if(stm != null){
try {
stm.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
stm = null;
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
}
}
简单的数据库连接工具类DBUtil
最新推荐文章于 2025-06-07 10:07:32 发布