真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JDBC代碼怎么重復(fù)使用

本篇內(nèi)容介紹了“JDBC代碼怎么重復(fù)使用”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對(duì)葡萄架等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站營(yíng)銷優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。

如何才能利用JDBC代碼建立一個(gè)與數(shù)據(jù)庫結(jié)構(gòu)無關(guān)的JDBC連接呢?

我們可以通過使用RESULTSETMETADATA()方法獲得表結(jié)構(gòu)。然后使用OBJECT[]數(shù)組遍歷結(jié)果集。當(dāng)我們要取得相應(yīng)的結(jié)果時(shí),我們可以使用ITERATOR迭代器。只需遍歷迭代器就可以取出結(jié)果。

下面的JDBC代碼是我寫的一個(gè)方法:

  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(大型網(wǎng)站數(shù)據(jù)庫平臺(tái)):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(大型網(wǎng)站數(shù)據(jù)庫平臺(tái)).JDBC.DRIVER.ORACLE(大型網(wǎng)站數(shù)據(jù)庫平臺(tái))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            //獲取數(shù)據(jù)庫表結(jié)構(gòu)
74            RESULTSETMETADATA RSM = RS.GETMETADATA();
75            //取得數(shù)據(jù)庫的列數(shù)
76            INT COL = RSM.GETCOLUMNCOUNT();
77            //生成COL長(zhǎng)度的OBJECT數(shù)組
78            OBJECT[] OBJ = NEW OBJECT[COL];
79            //遍歷結(jié)果集,將結(jié)果存入OBJECT數(shù)組
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        //遍歷迭代器,取出結(jié)果
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代碼怎么重復(fù)使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)頁題目:JDBC代碼怎么重復(fù)使用
新聞來源:http://weahome.cn/article/ijgidc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部