JdbcUtils.java
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();
}
}
}
}
}