使用jdbc連接數(shù)據(jù)庫桅咆,關于jdbc詳解可以點擊:http://wenku.baidu.com/link?url=U68zgjEvwpaXXl_JI7XYN2oW7pJ3UrpVFKwYlSPhygTmWfjbgwQ-mPeockzVTmwr9gqR0Yggee0u06PrEMoOEHNI5DLA9HUwCjP_nvEcvRa,以下有幾個實例分別為,jsp連接數(shù)據(jù)庫凤巨、獲取一個表中字段的個數(shù)和名字味廊、數(shù)據(jù)的遍歷和定位介汹、分頁顯示記錄巡雨;
一、jsp連接數(shù)據(jù)庫
代碼如下:
結果如下:
二暮现、獲取一個表中字段的個數(shù)和名字
通過connection類的getMetaData()方法可以獲取本連接相關的數(shù)據(jù)庫元數(shù)據(jù)还绘,返回一個DatabaseMetaData對象
?例如:DatabaseMetaDatametadata=con.getMetaData();
通過DatabaseMetaData類的getColumns( )可以獲取指定表的屬性列信息,返回一個結果集合ResultSet對象栖袋,結果集中有4列拍顷,行數(shù)由屬性列的個數(shù)決定
例如:?將student表的字段信息以行列的形式存儲在一個ResultSet對象中,
ResultSettableMessage=metadata.getColumns(null,null,"student",null);
通過ResultSet對象中getXxx()方法可以查看該行中屬性列的信息
若student表有n個字段(n個列屬性),tableMessage就剛好有n行,每行4列。每列分別含有信息的次序為"數(shù)據(jù)庫名"塘幅、"數(shù)據(jù)庫擴展名"昔案、"表名"、"字段名"电媳。student表有4個字段,那么上述tableMessage有4行,每行有4列踏揣。
tableMessage對象調用next方法使游標向下移動一行(游標的初始位置在第1行之前),然后tableMessage調用getXxx方法可以查看該行中列的信息,其中最重要的信息是第4列,該列上的信息為字段的名字匾乓。更多DataBaseMetaData對象的講解捞稿,請點擊:http://blog.csdn.net/sdliubo/article/details/6546889。實例如下:
代碼片段一:
代碼片段二:
結果:
三、數(shù)據(jù)的遍歷和定位
除了下面例子中介紹的方法外娱局,ResulSet對象還有以下方法:isAfterLast()判斷游標是否在結果集的最后一行后面彰亥,返回類型為boolean類型;isBeforeFirst()判斷游標是否在結果集的第一行的前面衰齐,返回類型為boolean類型任斋;isFirst()判斷游標是否在結果集的第一行上,返回類型為boolean類型耻涛;next()將游標從當前位置向下移動一行仁卷,返回類型為boolean類型;first()將游標移至結果集中的第一行犬第,返回類型為boolean類型;close()立即釋放此ResulSet對象的數(shù)據(jù)庫和jdbc資源芒帕,無返回類型歉嗓;實例如下:
代碼片段一:
代碼片段二:
運行結果如下:
四、分頁顯示記錄
這個實例是上個實例的延伸背蟆,一個難點在于當獲取到要顯示的頁數(shù)后將結果集的指針定位到該頁的第一行鉴分,另一個難點在于顯示頁面時是否顯示下一行條件的判斷;實例如下:
代碼片段一:
代碼片段二:
結果如下: