public class jdbcUtil {
private static Stringurl;
private static Stringuser;
private static Stringpassword;
private static Stringdriver;
/**
* 配置文件我只想读取一次即可,因此可以使用静态代码块,作用是随着类的加载而加载,且只加载一次
*/
static {
Properties properties =new Properties();
try {
//properties.load(new FileInputStream("src/jdbc.properties"));
properties.load(jdbcUtil.class.getClassLoader().getSystemResourceAsStream("jdbc.properties"));
//获取读到的值
url=properties.getProperty("url");
user=properties.getProperty("user");
password=properties.getProperty("password");
driver=properties.getProperty("driver");
//注册驱动,也就是jdbc的第一步
Class.forName(driver);
}catch (IOException e) {
e.printStackTrace();
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//工具类中获取连接的方法,注意,方法的返回值是Connection类
public static ConnectiongetConnection()throws SQLException {
return DriverManager.getConnection(url,user,password);
}
//释放资源的方法
public static void closeResource(Connection con, Statement sta){
if(con!=null){
try {
con.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
if(sta!=null){
try {
sta.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
//重写一个
//释放资源的方法
public static void closeResource(Connection con, Statement sta, ResultSet rs) {
if(rs!=null){
try {
rs.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
if(con!=null){
try {
con.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
if(sta!=null){
try {
sta.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
}
网友评论