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

服務(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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www.99精品视频在线播放 | 黑人巨大videosjapan高清 黑人好大 | 成人在线第一页 | jiuse视频 | 艹艹逼 | 特黄aa级毛片免费视频播放 | 美女沟厕撒尿全过程高清图片 | 精品国产成人AV在线看 | 欧美午夜网站 | 俺去俺来也在线www色官网 | 欧美xxxxx九色视频免费观看 | 射逼网| 3d蒂法受辱在线播放 | 岛国虐乳紧缚媚药调教 | 91免费永久国产在线观看 | 被18号每天强行榨干acg | 日本成人高清视频 | 乌克兰精品摘花处破 | 国产精品色片 | 国产实拍会所女技师在线 | 亚洲狠狠网站色噜噜 | 国产成人影院一区二区 | 欧美日本一本线在线观看 | 青青青国产精品国产精品美女 | 99精品国产久热在线观看66 | 亚洲spank男男实践网站 | 亚洲国产精品综合一区在线 | 欧美色成人tv在线播放 | 精品久久久久久久久免费影院 | 肉蒲在线观看 | 国内视频一区二区 | 日本三级做a全过程在线观看 | 欧美一级特黄特色大片免费 | 深夜激情网站 | 九九精品免视频国产成人 | 大杳蕉在线影院在线播放 | 国产精品综合在线 | 国产盗摄女厕美女嘘嘘 | 国产馆精品推荐在线观看 | 国产原创精品 | 免费视频 久久久 |