溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Java中自定義封裝一個(gè)JDBC工具類

發(fā)布時(shí)間:2021-03-01 16:50:38 來(lái)源:億速云 閱讀:177 作者:Leah 欄目:開發(fā)技術(shù)

如何在Java中自定義封裝一個(gè)JDBC工具類?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

步驟

① 創(chuàng)建配置文件(config.properties),用于存放注冊(cè)驅(qū)動(dòng)和連接數(shù)據(jù)庫(kù)時(shí)所需要的參數(shù)值

② 自定義一個(gè)類(JDBCUtils.java)

③ 實(shí)現(xiàn)構(gòu)造私有方法 private JDBCUtils(){}

④ 聲明所需要的配置變量

private static String driverClass;
private static String url;
private static String username;
private static String password;
private static Connection conn;

⑤ 提供靜態(tài)代碼量,讀取配置文件,并為配置變量賦值,注冊(cè)驅(qū)動(dòng)

⑥ 定義數(shù)據(jù)庫(kù)連接方法 public static Connection getConnection();

⑦ 定義釋放資源方法(兩個(gè))

// 查詢操作時(shí)所使用的的釋放資源方法
public static void close(Connection conn, Statement st, ResultSet rs);
// 增刪改操作時(shí)所使用的的釋放資源方法
public static void close(Connection conn, Statement st)

完整代碼

package com.cmy.utils;

import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

/**
 * JDBC工具類
 * @author ChenMingYong
 */
public class JDBCUtils {
	/**
	 * 1.私有構(gòu)造方法
	 */
	private JDBCUtils(){}
	
	/**
	 * 2.聲明所需要的配置變量
	 */
	private static String driverClass;
	private static String url;
	private static String username;
	private static String password;
	private static Connection conn;
	
	// 3.提供靜態(tài)代碼塊,讀取配置文件的信息,為變量賦值,注冊(cè)驅(qū)動(dòng)
	static {
		try{
			// 讀取配置文件的信息,為變量賦值
			InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("config.properties");
			Properties prop = new Properties();
			prop.load(is);
			driverClass = prop.getProperty("driverClass");
			url = prop.getProperty("url");
			username = prop.getProperty("username");
			password = prop.getProperty("password");
			// 注冊(cè)驅(qū)動(dòng)
			Class.forName(driverClass);
		}
		catch (Exception e){
			e.printStackTrace();
		}
	
	}
	
	/**
	 * 4.提供數(shù)據(jù)庫(kù)連接方法
	 * @return
	 */
	public static Connection getConnection(){
		try {
			conn = DriverManager.getConnection(url, username, password);
		}
		catch (Exception e){
			e.printStackTrace();
		}
		return conn;
	}
	
	/**
	 * 5.查詢操作時(shí)所使用的的釋放資源方法
	 * @param conn
	 * @param st
	 * @param rs
	 */
	public static void close(Connection conn, Statement st, ResultSet rs){
		if(conn != null){
			try{
				conn.close();
			}
			catch (SQLException e){
				e.printStackTrace();
			}
		}
		if(st != null){
			try{
				st.close();
			}
			catch (SQLException e){
				e.printStackTrace();
			}
		}
		if(rs != null){
			try{
				rs.close();
			}
			catch (SQLException e){
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 5.增刪改操作時(shí)所使用的的釋放資源方法
	 * @param conn
	 * @param st
	 */
	public static void close(Connection conn, Statement st){
		if(conn != null){
			try{
				conn.close();
			}
			catch (SQLException e){
				e.printStackTrace();
			}
		}
		if(st != null){
			try{
				st.close();
			}
			catch (SQLException e){
				e.printStackTrace();
			}
		}
	}
	
}

關(guān)于如何在Java中自定義封裝一個(gè)JDBC工具類問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI