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ù)庫連接對(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ù)庫連接的方法
* @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ù)庫連接對(duì)象
* @param stmt 執(zhí)行SQL語句的對(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ù)庫連接對(duì)象
* @param stmt 執(zhí)行SQL語句的對(duì)象
* @param resultSet 執(zhí)行SQL語句的返回的結(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ù)庫操作對(duì)象
private PreparedStatement ps = null;
//數(shù)據(jù)庫連接地址
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ù)庫連接失敗....");
}
System.out.println("數(shù)據(jù)庫連接成功...");
return connection;
}
//獲取數(shù)據(jù)庫操作對(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ù)庫操作對(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)文章
SpringCloud Bus消息總線的實(shí)現(xiàn)
消息總線是一種通信工具,可以在機(jī)器之間互相傳輸消息、文件等,這篇文章主要介紹了SpringCloud Bus消息總線的實(shí)現(xiàn),Spring cloud bus 通過輕量消息代理連接各個(gè)分布的節(jié)點(diǎn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05
Java數(shù)據(jù)結(jié)構(gòu)之圖的兩種搜索算法詳解
在很多情況下,我們需要遍歷圖,得到圖的一些性質(zhì)。有關(guān)圖的搜索,最經(jīng)典的算法有深度優(yōu)先搜索和廣度優(yōu)先搜索,接下來我們分別講解這兩種搜索算法,需要的可以參考一下2022-11-11
Javascript和Java語言有什么關(guān)系??jī)煞N語言間的異同比較
雖然Javascript與Java有緊密的聯(lián)系,但卻是兩個(gè)公司開發(fā)的不同的兩個(gè)產(chǎn)品。那么js和java有什么關(guān)系,兩種語言的不同點(diǎn)是什么呢?介于這兩個(gè)問題,小編一起給大家解答下2016-09-09
Java使用html2image將html生成縮略圖圖片的實(shí)現(xiàn)示例
本文主要介紹了Java使用html2image將html生成縮略圖圖片的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12
springboot攔截器過濾token,并返回結(jié)果及異常處理操作
這篇文章主要介紹了springboot攔截器過濾token,并返回結(jié)果及異常處理操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09

