- 目的:簡化書寫
- 分析:
- 註冊驅動的抽取
- 抽取一個方法獲取連接對象
- 需求:不想傳遞參數,同時保證工具類的通用性
- 解決:配置文件
- Jdbc.properties
- Url=
- User=
- Password=
- Jdbc.properties
- 抽取一個方法釋放資源
- 代碼實現:
public class JDBCUtils { Private static String url ; Private static String username; Private static String password; Private static String driver; /** *文件的讀取,只需要讀一次即可拿到這些值。使用靜態代碼塊 */ static{ //讀取資源文件,獲取值。 try{ //1.創建Properties集合類 Properties Pro = new properties(); //獲取src路徑下的文件方式--->ClassLoader 類加載器 ClassLoader classloader = JDBCUtils.class.getClassLoader(); URL res = classLoader .getResource("jdbc.properties"); String path = res.getPath(); System .out .println(path); //加載文件 pro.load(new FieldReader(path)); //獲取數據,賦值 url = pro.getProperty("url"); user = pro.getProperty("user"); password = pro.getProperty("password"); driver = pro.getProperty("driver"); //註冊驅動 Class.forName(driver); }catch(IOException e){ e.printStackTrace(); } }catch(ClassNotFoundException e){ e.printStackTrace(); } /** *獲取連接 */ public static Connection getConnection()throw SQLException{ return DriverManager.getConnection(url,user,password); } /** *釋放資源 */ public static void close (ResultSet rs, Statement stmt ,Connection conn) { If (rs!= NULL){ try{ rs.close(); }catch(SQLException e){ e.printStackTrace(); } } If (stmt != NULL){ try{ stmt.close(); }catch(SQLException e){ e.printStackTrace(); } } If (conn != NULL){ try{ conn .close(); }catch(SQLException e){ e.printStackTrace(); } } } } }
JDBC工具類:JDBCUtils
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.