JAVA認證基礎知識:JSP使用數據庫操作
在JSP 中可以使用Java 的JDBC 技術,實現對數據庫中表記錄的查詢、修改和刪除等操作。JDBC 技術在JSP 開發中佔有很重要的地位。
JDBC(Java DataBase Connectivity)是Java 數據庫連接API.簡單地說,
JDBC 能完成三件事:
(1) 與一個數據庫建立連接,
(2) 向數據庫發送SQL 語句,
(3) 處理數據庫返回的結果。
JDBC 和數據庫建立連接的一種常見方式是建立起一個JDBC─ODBC 橋接器。由於ODBC 驅動程序被廣泛的使用,建立這種橋接器後,使得JDBC 有能力訪問幾乎所有類型的數據庫。JDBC 也可以直接加載數據庫驅動程序訪問數據庫,如果使用 JDBC─ODBC 橋接器訪問數據庫,事先必須設置數據源。
1.數據源
利用系統建立一個ODBC數據源。
-ODBC 橋接器
建立一個JDBC─ODBC 橋接器,即加載橋接器驅動程序。
ame("OdbcDriver");
Class 是包 中的一個類,該類通過調用它的靜態方法forName 就可以建立JDBC-ODBC 橋接器。
3.查詢記錄
(1)連接到數據庫
首先使用包 中的Connection 類聲明一個對象,然後再使用類DriverManager 調用它的.靜態方法getConnection 創建這個連接對象:
Connection con = onnection("jdbc:odbc:數據源名字","login name", "password ");
(2)向數據庫發送SQL 語句。
首先使用 Statement 聲明一個SQL 語句對象,然後通過剛纔創建的連接數據庫的對象con 調用方法createStatment()創建這個SQL 語句對象。
Statement sql=teStatement();
(3)處理查詢結果
有了 SQL 語句對象後,這個對象就可以調用相應的方法實現對數據庫中表的查詢和修改。並將查詢結果存放在一個ResultSet 類聲明的對象中,也就是說SQL 語句對數據庫的查詢操作將返回一個ResultSet 對象:
ResultSet rs=uteQuery("SELECT * FROM 成績表");
ResultSet 對象是以統一形式的列組織的數據行組成。ResultSet 對象一次只能看到一個數據行,使用next()方法走到下一數據行,獲得一行數據後,
ResultSet 對象可以使用getxxxx 方法獲得字段值,將位置索引(第一列使用1,第二列使用2 等等)或字段名傳遞給getxxxx方法的參數即可
使用結果集Result 的next()方法,可以順序的查詢。一個結果集將遊標最初定位在第一行的前面,第一次調用next()方法使遊標移動到第一行。
next()方法返回一個boolean 型數據,當遊標移動到最後一行之後返回false.
可滾動的結果集:
Statement stmt=teStatement(int type ,int concurrency);
根據參數的 type、concurrency 的取值情況,stmt 返回相應類型的結果集:
type 的取值決定滾動方式,取值可以是:
_FORWORD_ONLY :結果集的遊標只能向下滾動。
_SCROLL_INSENSITIVE :結果集的遊標可以上下移動,當數據庫變化時,當前結果集不變。
_SCROLL_SENSITIVE :返回可滾動的結果集,當數據庫變化時,當前結果集同步改變。
Concurrency 取值決定是否可以用結果集更新數據庫,Concurrency 取值:
UR_READ_ONLY:不能用結果集更新數據庫中的表。
UR_UPDATETABLE:能用結果集更新數據庫中的表。
滾動查詢經常用到 ResultSet 的下述方法:
public boolean previous():將遊標向上移動,該方法返回boolean 型數據,當移到結果集第一行之前時返回false.
public void beforeFirst():將遊標移動到結果集的初始位置,即在第一行之前。
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 開始,如果結果集沒有行,返回0
public boolean absolute(int row):將遊標移到參數row 指定的行號。
注意:如果row 取負值,就是倒數的行數,absolute(-1)表示移到最後一行,absolute(-2)表示移到倒數第2 行。當移動到第一行前面或最後一行的後面時,該方法返回false。
相關文章
-
JAVA認證基礎知識:Java文件解壓縮示例
Java實現壓縮文件的解壓縮操作,缺點是壓縮文件內不能含有文件名爲中文的`的文件,否則會出現如下錯誤:Exception in thread "main" galArgumentException: MALFORMEDat ring(Unknown Source)at LOC(Unknown Source)at ext -
JAVA認證基礎知識:Java獲取當前的系統時間
在不斷注重大學聯考能力提高的同時,尤其是JAVA認證備考的後階段,我們選擇的是求準求穩求規範。此複習輔導不等於題海戰術,而是要積累實戰經驗,解決掉一些考場失誤等問題。 一、獲取當前系統時間和日期並格式化輸出:import ;im -
Java認證基礎知識:java字符串轉化整型問題
java 字符串轉化整型問題public class StringParesInteger {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubtln(_VALUE);tln(_VALUE/10);tln(pareseInt("="));}/** -
sun認證考試知識點:Java中基本數據類型
Java中除了二進制文件和使用文本文件外還有基於Data的數據操作,這裏的Data指的是Java的基本數據類型和String.基本數據類型包括byte、int、char、long、float、double、boolean和short.說到Java的基本數據類型必須談到 -
Java認證考試知識點:JavaSE6的新功能
Java SE 6的十大新功能及你應該升級到Java SE 6上的十大原因。這十大看點以次是: 1新的安全功能:Java 6對於安全的新支持主要有:JSR 105: XML DSIG API/implementation、本地平臺GSS/Kerberos的集成、JSR 268: Smart Ca -
Java認證考試知識點:Java時間類的函數
學習是一條慢長而艱苦的道路,不能靠一時激情,也不是熬幾天幾夜就能學好的`,必須養成平時努力學習的習慣,Java也不例外,下面小編爲大家整理了Java裏時間類以及函數的相關文章: 1Calendar和Date的轉化(1)Calendar轉化 -
java與javascript之間json格式數據互轉詳解
javascript中對象與字符串的互轉對象轉爲字符串:通過de方法,這個是裏面的方法,引入到當前文件就可以了。字符串轉換爲對象:①使用de方法,同上,引入js就可以了。②jQuery中有個方法,$eJson也可以實現。java中json字符串與對象 -
使用ajax操作JavaScript對象的方法
通過請求獲取充分格式化的HTML雖然很方便,但這也意味着必須在傳輸文本內容的同時也 傳輸很多HTML標籤。有時候,我們希望能夠儘量少傳輸一些數據,然後馬上處理這些數據。在這種情況,我們希望取得能夠通過JavaScript進行遍 -
JAVA認證基礎知識:JavaNativeInterface學習小結
JNI是Java Native Interface的縮寫,中文爲JAVA本地調用。使用JNI可以很方便的用我們的Java程序調用C/C++程序。很多時候,某些功能用Java無法實現,比如說涉及到底層驅動的一些功能,這時候我們就可以利用JNI來調用C或者C++ -
JAVA認證基礎知識:基於反射機制的服務代理調用
實現原理:通過傳遞服務bean的名稱、執行的方法及參數,通過反射機制進行調用返回。優點:只需對外提供一個接口服務即可,只要容器中操作服務bean,通過接口即可調用,增加服務bean無需增加對外接口。代碼如下:接口類public inte