91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDBC代碼怎么重復使用

發布時間:2021-07-14 16:26:32 來源:億速云 閱讀:291 作者:chen 欄目:編程語言

本篇內容介紹了“JDBC代碼怎么重復使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

如何才能利用JDBC代碼建立一個與數據庫結構無關的JDBC連接呢?

我們可以通過使用RESULTSETMETADATA()方法獲得表結構。然后使用OBJECT[]數組遍歷結果集。當我們要取得相應的結果時,我們可以使用ITERATOR迭代器。只需遍歷迭代器就可以取出結果。

下面的JDBC代碼是我寫的一個方法:

  1IMPORT JAVA.MATH.BIGDECIMAL;
2IMPORT JAVA.SQL.CONNECTION;
3IMPORT JAVA.SQL.DRIVERMANAGER;
4IMPORT JAVA.SQL.RESULTSET;
5IMPORT JAVA.SQL.RESULTSETMETADATA;
6IMPORT JAVA.SQL.SQLEXCEPTION;
7IMPORT JAVA.SQL.STATEMENT;
8IMPORT JAVA.UTIL.ARRAYLIST;
9IMPORT JAVA.UTIL.ITERATOR;
10IMPORT JAVA.UTIL.LIST;
11
12PUBLIC CLASS NEWJDBC {
13    PRIVATE STRING URL = "JDBC:ORACLE(大型網站數據庫平臺):THIN:@LOCALHOST:1521:NITPRO";
14
15    PRIVATE STRING DBUSERNAME = "SCOTT";
16
17    PRIVATE STRING DBUSERPASSWORD = "TIGER";
18
19    PRIVATE CONNECTION CONN = NULL;
20
21    PRIVATE STATEMENT STMT = NULL;
22
23    PRIVATE RESULTSET RS = NULL;
24
25    PUBLIC NEWJDBC() {
26        TRY {
27            CLASS.FORNAME("ORACLE(大型網站數據庫平臺).JDBC.DRIVER.ORACLE(大型網站數據庫平臺)DRIVER");
28        } CATCH (CLASSNOTFOUNDEXCEPTION E) {
29            E.PRINTSTACKTRACE();
30        }
31    }
32
33    PUBLIC CONNECTION GETCONNECTION() {
34        TRY {
35            CONN = DRIVERMANAGER.GETCONNECTION(URL, DBUSERNAME, DBUSERPASSWORD);
36        } CATCH (SQLEXCEPTION E) {
37            E.PRINTSTACKTRACE();
38        }
39        RETURN CONN;
40    }
41
42    PUBLIC VOID CLOSE(RESULTSET RS, STATEMENT STMT, CONNECTION CONN) {
43        IF (RS != NULL) {
44            TRY {
45                RS.CLOSE();
46            } CATCH (SQLEXCEPTION E) {
47                E.PRINTSTACKTRACE();
48            }
49        }
50        IF (STMT != NULL) {
51            TRY {
52                STMT.CLOSE();
53            } CATCH (SQLEXCEPTION E) {
54                E.PRINTSTACKTRACE();
55            }
56        }
57        IF (CONN != NULL) {
58            TRY {
59                CONN.CLOSE();
60            } CATCH (SQLEXCEPTION E) {
61                E.PRINTSTACKTRACE();
62            }
63        }
64    }
65
66    PUBLIC LIST QUERY(STRING SQL) {
67        LIST LIST = NEW ARRAYLIST();
68
69        CONN = THIS.GETCONNECTION();
70        TRY {
71            STMT = CONN.CREATESTATEMENT();
72            RS = STMT.EXECUTEQUERY(SQL);
73            //獲取數據庫表結構
74            RESULTSETMETADATA RSM = RS.GETMETADATA();
75            //取得數據庫的列數
76            INT COL = RSM.GETCOLUMNCOUNT();
77            //生成COL長度的OBJECT數組
78            OBJECT[] OBJ = NEW OBJECT[COL];
79            //遍歷結果集,將結果存入OBJECT數組
80            WHILE (RS.NEXT()) {
81                FOR (INT I = 0; I < COL; I++) {
82                    OBJ[I] = RS.GETOBJECT(I + 1);
83                }
84                LIST.ADD(OBJ);
85            }
86        } CATCH (SQLEXCEPTION E) {
87            E.PRINTSTACKTRACE();
88        } FINALLY {
89            THIS.CLOSE(RS, STMT, CONN);
90        }
91        RETURN LIST;
92    }
93
94    PUBLIC VOID UPDATE(STRING SQL) {
95        TRY {
96            CONN = THIS.GETCONNECTION();
97            STMT = CONN.CREATESTATEMENT();
98            STMT.EXECUTEUPDATE(SQL);
99        } CATCH (SQLEXCEPTION E) {
100            E.PRINTSTACKTRACE();
101        }
102    }
103
104    PUBLIC STATIC VOID MAIN(STRING ARGS[]) {
105        NEWJDBC NJ = NEW NEWJDBC();
106        STRING SQL = "SELECT * FROM USERS";
107        LIST LIST = NJ.QUERY(SQL);
108        //返回LIST的迭代器
109        ITERATOR IT = LIST.ITERATOR();
110        //遍歷迭代器,取出結果
111        WHILE (IT.HASNEXT()) {
112            OBJECT[] O = (OBJECT[]) IT.NEXT();
113            INT ID = ((BIGDECIMAL) O[0]).INTVALUE();
114            SYSTEM.OUT.PRINTLN(ID);
115        }
116
117    }
118}

“JDBC代碼怎么重復使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節
推薦閱讀:
  1. JDBC技術
  2. JDBC

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瓮安县| 汉中市| 台前县| 平果县| 个旧市| 泗洪县| 大石桥市| 嵊泗县| 松原市| 和顺县| 洛川县| 新安县| 富川| 富蕴县| 舟山市| 剑河县| 孝义市| 安乡县| 中宁县| 盐城市| 宾阳县| 革吉县| 太和县| 镇远县| 怀仁县| 哈尔滨市| 东莞市| 建始县| 郁南县| 隆昌县| 五莲县| 上蔡县| 宜丰县| 依兰县| 教育| 元阳县| 东安县| 安达市| 余庆县| 盐城市| 岑巩县|