- 相關(guān)推薦
JAVA認證基礎知識:JSP使用數據庫操作
在JSP 中可以使用Java 的JDBC 技術(shù),實(shí)現對數據庫中表記錄的查詢(xún)、修改和刪除等操作。JDBC 技術(shù)在JSP 開(kāi)發(fā)中占有很重要的地位。
JDBC(Java DataBase Connectivity)是Java 數據庫連接API.簡(jiǎn)單地說(shuō),
JDBC 能完成三件事:
(1) 與一個(gè)數據庫建立連接,
(2) 向數據庫發(fā)送SQL 語(yǔ)句,
(3) 處理數據庫返回的結果。
JDBC 和數據庫建立連接的一種常見(jiàn)方式是建立起一個(gè)JDBC─ODBC 橋接器。由于ODBC 驅動(dòng)程序被廣泛的使用,建立這種橋接器后,使得JDBC 有能力訪(fǎng)問(wèn)幾乎所有類(lèi)型的數據庫。JDBC 也可以直接加載數據庫驅動(dòng)程序訪(fǎng)問(wèn)數據庫,如果使用 JDBC─ODBC 橋接器訪(fǎng)問(wèn)數據庫,事先必須設置數據源。
1.數據源
利用系統建立一個(gè)ODBC數據源。
2.JDBC-ODBC 橋接器
建立一個(gè)JDBC─ODBC 橋接器,即加載橋接器驅動(dòng)程序。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class 是包java.lang 中的一個(gè)類(lèi),該類(lèi)通過(guò)調用它的靜態(tài)方法forName 就可以建立JDBC-ODBC 橋接器。
3.查詢(xún)記錄
(1)連接到數據庫
首先使用包 java.sql 中的Connection 類(lèi)聲明一個(gè)對象,然后再使用類(lèi)DriverManager 調用它的靜態(tài)方法getConnection 創(chuàng )建這個(gè)連接對象:
Connection con = DriverManager.getConnection("jdbc:odbc:數據源名字","login name", "password ");
(2)向數據庫發(fā)送SQL 語(yǔ)句。
首先使用 Statement 聲明一個(gè)SQL 語(yǔ)句對象,然后通過(guò)剛才創(chuàng )建的連接數據庫的對象con 調用方法createStatment()創(chuàng )建這個(gè)SQL 語(yǔ)句對象。
Statement sql=con.createStatement();
(3)處理查詢(xún)結果
有了 SQL 語(yǔ)句對象后,這個(gè)對象就可以調用相應的方法實(shí)現對數據庫中表的查詢(xún)和修改。并將查詢(xún)結果存放在一個(gè)ResultSet 類(lèi)聲明的對象中,也就是說(shuō)SQL 語(yǔ)句對數據庫的查詢(xún)操作將返回一個(gè)ResultSet 對象:
ResultSet rs=sql.executeQuery("SELECT * FROM 成績(jì)表");
ResultSet 對象是以統一形式的列組織的數據行組成。ResultSet 對象一次只能看到一個(gè)數據行,使用next()方法走到下一數據行,獲得一行數據后,
ResultSet 對象可以使用getxxxx 方法獲得字段值,將位置索引(第一列使用1,第二列使用2 等等)或字段名傳遞給getxxxx方法的參數即可
使用結果集Result 的next()方法,可以順序的查詢(xún)。一個(gè)結果集將游標最初定位在第一行的前面,第一次調用next()方法使游標移動(dòng)到第一行。
next()方法返回一個(gè)boolean 型數據,當游標移動(dòng)到最后一行之后返回false.
可滾動(dòng)的結果集:
Statement stmt=con.createStatement(int type ,int concurrency);
根據參數的 type、concurrency 的取值情況,stmt 返回相應類(lèi)型的結果集:
type 的取值決定滾動(dòng)方式,取值可以是:
ResultSet.TYPE_FORWORD_ONLY :結果集的游標只能向下滾動(dòng)。
ResultSet.TYPE_SCROLL_INSENSITIVE :結果集的游標可以上下移動(dòng),當數據庫變化時(shí),當前結果集不變。
ResultSet.TYPE_SCROLL_SENSITIVE :返回可滾動(dòng)的結果集,當數據庫變化時(shí),當前結果集同步改變。
Concurrency 取值決定是否可以用結果集更新數據庫,Concurrency 取值:
ResultSet.CONCUR_READ_ONLY:不能用結果集更新數據庫中的表。
ResultSet.CONCUR_UPDATETABLE:能用結果集更新數據庫中的表。
滾動(dòng)查詢(xún)經(jīng)常用到 ResultSet 的下述方法:
public boolean previous():將游標向上移動(dòng),該方法返回boolean 型數據,當移到結果集第一行之前時(shí)返回false.
public void beforeFirst():將游標移動(dòng)到結果集的初始位置,即在第一行之前。
public void afterLast():將游標移到結果集最后一行之后。
public void first():將游標移到結果集的第一行。
public void last():將游標移到結果集的最后一行。
public boolean isAfterLast():判斷游標是否在最后一行之后。
public boolean isBeforeFirst():判斷游標是否在第一行之前
public boolean ifFirst():判斷游標是否指向結果集的第一行。
public boolean isLast():判斷游標是否指向結果集的最后一行。
public int getRow():得到當前游標所指行的行號,行號從1 開(kāi)始,如果結果集沒(méi)有行,返回0
public boolean absolute(int row):將游標移到參數row 指定的行號。
注意:如果row 取負值,就是倒數的行數,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒數第2 行。當移動(dòng)到第一行前面或最后一行的后面時(shí),該方法返回false。
【JAVA認證基礎知識:JSP使用數據庫操作】相關(guān)文章:
JAVA認證基礎知識:Java獲取當前的系統時(shí)間03-18
JAVA認證基礎知識:JavaNativeInterface學(xué)習小結01-11
sun認證考試:Java.io的使用01-08
Java認證基礎知識:java字符串轉化整型問(wèn)題03-18
JAVA認證簡(jiǎn)介03-19
JAVA認證基礎知識:基于反射機制的服務(wù)代理調用03-08
Linux認證基礎知識:linux操作系統目錄結構03-08
SUN JAVA認證介紹12-18
JAVA認證考試細則03-19