一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java JDBC自定義封裝工具類的步驟和完整代碼

Java JDBC自定義封裝工具類的步驟和完整代碼

2021-08-16 11:56陳明勇1999 Java教程

這篇文章主要給大家介紹了關(guān)于Java JDBC自定義封裝工具類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

封裝JDBC工具類的作用可以優(yōu)化代碼,提高開發(fā)效率

步驟

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

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

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

④ 聲明所需要的配置變量

?
1
2
3
4
5
private static String driverClass;
private static String url;
private static String username;
private static String password;
private static Connection conn;

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

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

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

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

完整代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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)代碼塊,讀取配置文件的信息,為變量賦值,注冊驅(qū)動
    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");
            // 注冊驅(qū)動
            Class.forName(driverClass);
        }
        catch (Exception e){
            e.printStackTrace();
        }
    
    }
    
    /**
     * 4.提供數(shù)據(jù)庫連接方法
     * @return
     */
    public static Connection getConnection(){
        try {
            conn = DriverManager.getConnection(url, username, password);
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return conn;
    }
    
    /**
     * 5.查詢操作時所使用的的釋放資源方法
     * @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.增刪改操作時所使用的的釋放資源方法
     * @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();
            }
        }
    }
    
}

總結(jié)

到此這篇關(guān)于Java JDBC自定義封裝工具類的文章就介紹到這了,更多相關(guān)Java JDBC自定義封裝類內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_44604586/article/details/114157346

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 糖心在线观看 | 大胆私拍模特国模377 | 国产精品一级香蕉一区 | 午夜在线观看免费观看 视频 | 色愉拍亚洲偷自拍 | 欧美综合精品一区二区三区 | 日本不卡1卡2卡三卡网站二百 | 免费看伦理片 | 91禁漫| 天美传媒影视在线免费观看 | 99热r| 黑人巨大vs北条麻妃在线 | 四虎影视地址 | 人人干国产| 87影院在线观看视频在线观看 | 精品国产乱码久久久久久软件 | 青青草国产精品免费 | 娇小性色| 亚洲国产精品高清在线 | 欧美在线观看视频一区 | 欧洲第一区第二区第三区 | 美女靠逼动漫 | 日本男男gayxxxxx免费 | 精品国产国产精2020久久日 | 脱了白丝校花的内裤猛烈进入 | juy799大岛优香在线观看 | 特黄a级三级三级野战 | 色老妇 | 国产草逼视频 | 暖暖免费观看高清在线 | 91精品国产人成网站 | 色一情一乱一伦 | 男人的天堂久久 | 欧美一区二区三区久久久 | jm漫天堂破解版 | 男生和老师一起差差差 | adult video在线观看 | 爽好紧别夹宝贝叫大声点护士 | 美女黄板视频 | 微拍秒拍99福利精品小视频 | 精品91自产拍在线观看99re |