- Java EE程序設計與開發實踐教程
- 馮志林編著
- 1235字
- 2021-10-27 17:05:29
4.3 JDBC應用案例

第4章任務3
1.用JDBC連接SQL Server數據庫
1)在SQL Server中創建數據庫myDB。
2)通過查找數據庫驅動類SQLServerDriver,判斷數據庫是否連接成功。

需要下載sqljdbc4.jar并作為External JAR添加到項目中。
3)建立到數據庫的連接,使用的url為:

由于SQL Server數據庫按用戶進行訪問,連接時需要提供用戶名和密碼。

4)進行數據庫操作。
5)關閉數據庫。
2.創建和刪除表
SQL中使用CREATE TABLE和DROP TABLE語句來創建和刪除一個表。它通過statement對象的executeUptate()方法來完成。
1)創建一個表user,此表有兩列,列ID為整數型,列Name為字符型:

2)刪除一個表:

3.對表中記錄的操作
對表中記錄的操作包括修改、插入和刪除,它們對應于SQL的UPDATE、INSERT和DELETE操作。它采用Statement類中的executeUpdate()方法。此方法的參數是一個String對象,即要執行的SQL語句,返回值是一個整數。
1)修改操作。將user表中ID為1001的記錄的Name項改為“張三”:

2)插入和刪除記錄操作。在表中插入和刪除記錄:

3)增加和刪除表結構中的列操作。在表中增加一列,類型為字符型:

刪除表中某一列:

4.對表記錄集的操作(Statement方式)
1)創建Statement對象。

2)執行查詢語句。在Statement對象上,可以使用executeQuery()方法來執行一個查詢語句。executeQuery()的參數是一個String對象,即一個SQL的SELECT語句。它的返回值是一個ResultSet類的對象。

此語句將在結果集rs中返回user表中的所有行。

此語句將在結果集rs中返回user表中ID小于1001的行的name列和address列。
3)關閉Statement對象。當一個對象在使用完后,都要關閉它。

5.對表記錄集的操作(PreparedStatement方式)
PreparedStatement類是Statement類派生的子類,因此它可以使用Statement類中的方法。和Statement一樣,要想執行一個SQL查詢語句,首先創建一個PreparedStatement對象,然后執行查詢語句,最后,關閉PreparedStatement對象。
1)創建PreparedStatement對象。Connection對象可以創建PreparedStatement對象。在創建時,應該給出要預編譯的SQL語句。

2)執行查詢語句。PreparedStatement對象也使用executeQuery()方法來執行語句。與Statement類不同的是,該方法沒有參數。因為在創建PrepareStatement對象時,已經給出了要執行的SQL語句,并進行了預編譯。

3)關閉PrepareStatement對象。PrepareStatement對象也是使用close()方法來關閉的,實際上,它是調用父類Statement的close()方法。

6.對表記錄集的操作(CallableStatement方式)
CallableStatement類是PreparedStatement類派生的子類,可以使用PreparedStatement類和Statement類中的方法。
1)創建CallableStatement對象。用Connection類的prepareCall()方法可以創建一個CallableStatement對象。它的參數是一個String對象,一般格式為"call存儲過程名"。

2)執行存儲過程。CallableStatement類使用父類PreparedStatement類的executeQuery()方法或execute()方法來執行存儲過程。

3)關閉CallableStatement對象。CallableStatement對象也是使用close()方法來關閉的,實際上使用Statement的close()方法。

7.檢索結果集
ResultSet對象包括一個由查詢語句返回的表,這個表包含所有的查詢結果。ResultSet對象有一個游標指向當前行,并有next()方法使游標移向下一行。next()方法返回的是一個boolean值,若為true,則說明游標已成功地移向下一行;若為false,則說明無下一行,即結果集已處理完畢。
第一次使用next()方法時,游標將指向結果集的第一行,這時可對第一行的數據進行處理。然后,用next()方法,將游標移向下一行,繼續處理第二行數據。
在對每一行進行處理時,可以對各個列按任意順序進行處理。如ResultSet類的get×××()方法可以從某一列中獲得結果。其中×××是JDBC中的Java數據類型,如getInt,getString,getDate等。
例如,按行順序查詢結果集信息,代碼如下:


- Bootstrap Site Blueprints Volume II
- Android應用程序開發與典型案例
- Python網絡爬蟲從入門到實踐(第2版)
- Java 11 Cookbook
- 數據結構案例教程(C/C++版)
- Learning AWS
- Instant Zurb Foundation 4
- Python自然語言理解:自然語言理解系統開發與應用實戰
- Unity 5.X從入門到精通
- PHP+MySQL動態網站開發從入門到精通(視頻教學版)
- Scratch從入門到精通
- Getting Started with Electronic Projects
- C++17 By Example
- Visual Basic語言程序設計上機指導與練習(第3版)
- 和孩子一起學編程:用Scratch玩Minecraft我的世界