java中封裝JDBC工具類的實(shí)例分析
對(duì)于能夠重復(fù)使用的代碼,我們最好的方法是對(duì)它們進(jìn)行封裝,然后在下次使用的使用就可以直接調(diào)用了。本篇所要提到的是JDBC工具類,相信大家在學(xué)習(xí)java時(shí)都接觸過。那么對(duì)于封裝它的方法,本篇先對(duì)工具類進(jìn)行簡(jiǎn)單的說明,列出有關(guān)的封裝步驟,然后帶來相關(guān)的實(shí)例。
1、說明
在java開發(fā)過程中,代碼中時(shí)常用到一些Scanner、Random一樣的類,他們是鍵盤錄入,生成隨機(jī)數(shù)的類,像一個(gè)工具一樣,在java中被稱為工具類。
2、步驟
封裝JDBC工具類
加入獲取數(shù)據(jù)庫(kù)連接對(duì)象的方法
加入釋放連接的方法
3、實(shí)例
package com.qianfeng.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * JDBC工具類 * 有獲取連接的方法 * @author dushine */ public class JDBCUtil { /** * 獲取數(shù)據(jù)庫(kù)連接的方法 * @return Connection conn * @throws SQLException */ public static Connection getConnection() throws SQLException { String url = "jdbc:mysql://localhost:3306/class?useSSL=false"; String user = "root"; String password = "root"; Connection conn = DriverManager.getConnection(url,user,password); return conn; } /** * 釋放連接的方法 * @param conn * @throws SQLException */ public static void releaseSourse(Connection conn) throws SQLException { if (conn != null) { conn.close(); } } /** * 釋放連接的方法 * @param conn 數(shù)據(jù)庫(kù)連接對(duì)象 * @param stmt 執(zhí)行SQL語(yǔ)句的對(duì)象 * @throws SQLException */ public static void releaseSourse(Connection conn,Statement stmt) throws SQLException { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } /** * 釋放連接的方法 * @param conn 數(shù)據(jù)庫(kù)連接對(duì)象 * @param stmt 執(zhí)行SQL語(yǔ)句的對(duì)象 * @param resultSet 執(zhí)行SQL語(yǔ)句的返回的結(jié)果集 * @throws SQLException */ public static void releaseSourse(Connection conn,Statement stmt,ResultSet resultSet) throws SQLException { if (resultSet != null) { resultSet.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } }
實(shí)例擴(kuò)展:
public class JDBCUtil { //連接對(duì)象 private Connection connection = null; //數(shù)據(jù)庫(kù)操作對(duì)象 private PreparedStatement ps = null; //數(shù)據(jù)庫(kù)連接地址 private static String url = "jdbc:mysql://localhost:3306/"; //用戶名 private static String user = "root"; //密碼 private static String password = "123456"; //靜態(tài)代碼塊 注冊(cè)驅(qū)動(dòng) //類加載的時(shí)候,只執(zhí)行一次 static{ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //獲取連接對(duì)象 public Connection getConnection(){ //Connection conn = null; try { connection = DriverManager.getConnection(url,user,password); } catch (SQLException e) { e.printStackTrace(); System.out.println("數(shù)據(jù)庫(kù)連接失敗...."); } System.out.println("數(shù)據(jù)庫(kù)連接成功..."); return connection; } //獲取數(shù)據(jù)庫(kù)操作對(duì)象 public PreparedStatement createPreparedStatement(String sql){ connection = getConnection(); try { ps = connection.prepareStatement(sql); } catch (SQLException e) { e.printStackTrace(); } return ps; } //釋放資源 public void close(){ //釋放連接對(duì)象 if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } //釋放數(shù)據(jù)庫(kù)操作對(duì)象 if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } System.out.println("釋放資源成功..."); } //方法的重載 public void close(ResultSet reuslt){ // 調(diào)用釋放資源的方法 close(); // 釋放查詢結(jié)果集對(duì)象 if (reuslt != null) { try { reuslt.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
到此這篇關(guān)于java中封裝JDBC工具類的實(shí)例分析的文章就介紹到這了,更多相關(guān)java中如何封裝JDBC工具類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目中建議關(guān)閉Open-EntityManager-in-view原因
這篇文章主要為大家解析了在Spring Boot項(xiàng)目中建議關(guān)閉Open-EntityManager-in-view的原因示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02Java代碼實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java代碼實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Java Base64算法實(shí)際應(yīng)用之郵件發(fā)送實(shí)例分析
這篇文章主要介紹了Java Base64算法實(shí)際應(yīng)用之郵件發(fā)送,結(jié)合實(shí)例形式分析了java字符編碼與郵件發(fā)送相關(guān)操作技巧,需要的朋友可以參考下2019-09-09SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決
這篇文章主要介紹了SpringBoot 配置文件中配置的中文,程序讀取出來是亂碼的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程圖解
這篇文章主要介紹了SpringBoot配置嵌入式Servlet容器和使用外置Servlet容器的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07MyBatis 如何簡(jiǎn)化的 JDBC(思路詳解)
MyBatis 是一個(gè) 持久層 框架,用于 簡(jiǎn)化JDBC開發(fā),這篇文章主要介紹了MyBatis 如何簡(jiǎn)化的 JDBC(思路詳解),需要的朋友可以參考下2023-03-03Java如何將二維數(shù)組轉(zhuǎn)化為一維數(shù)組
這篇文章主要介紹了Java如何將二維數(shù)組轉(zhuǎn)化為一維數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08