package com.ghsy.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class JdbcUtils {
//主函數用於測試
public static void main(String[] args) {
JdbcUtils.getConnection();
}
private static Connection conn=null;
static{
//0解析properties文件,位置src,類路徑WEB-INF/classes
/**ResourceBundle資源束對象,可以根據指定的本地文件獲取資源束對象,並且可以通過這個對象
* 來獲得,指定的資源文件中配置的鍵值對的信息。這個對象常用於做國際化使用,也用於類似的配置文件
* 的讀取操作,注意ResourceBundle是一個抽象類,不能直接new對象,當其中提供了一個靜態方法
* getBundle()來獲取資源束對象*/
ResourceBundle myResources =ResourceBundle.getBundle("jdbcInfo");//只需要編寫文件名稱就可以了。
String driver=myResources.getString("driver");
String url=myResources.getString("url");
String user=myResources.getString("user");
String password=myResources.getString("password");
System.out.println("Test:driver:"+driver+",url:"+url+",user:"+user+",password:"+password);
try {
//註冊驅動,獲取連接
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
// TODO: handle exception
throw new RuntimeException();
}
}
public static Connection getConnection() {
return conn;
}
public static void closeResource(Connection connection,Statement statement,ResultSet set) {
try {
if(connection!=null)
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(statement!=null)
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(set!=null)
set.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
JdbcUtils
JdbcUtils.java
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.