JSP中數據庫的使用課件_第1頁
JSP中數據庫的使用課件_第2頁
JSP中數據庫的使用課件_第3頁
JSP中數據庫的使用課件_第4頁
JSP中數據庫的使用課件_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫應用開發簡介 作為有效的數據存儲和組織管理工具,數據庫的應用日益廣泛目前主流的數據庫產品有Oracle、SQL Server、DB2和SyBase等多種。在數據庫開發領域中,有三個方面需要掌握:SQL語言、ODBC數據訪問接口和JDBC數據庫訪問接口。數據庫應用開發簡介 作為有效的數據存儲和組織管理工具,數據庫SQL語言概述 SQL(Structured Query Language)是關系型數據庫的標準語言,是由國際標準組織提出的,各種關系型數據庫都支持SQL指令,Oracle在基本的SQL基礎上進行了擴充。SQL集DDL(Data Definition Language:數據定義語言

2、),DML(Data Manipulation Language:數據操作語言)和DCL(Data Control Language:數據控制語言)于一體。用SQL語言可以實現數據庫生命周期的全部活動。 SQL語句有如下的兩大特點(1)SQL是一種類似于英語的語言,很容易理解和書寫。(2)SQL語言是非過程化的語言(第四代語言)。SQL語言概述 SQL(Structured QueryODBC數據訪問接口 開放式數據庫互連ODBC(Open DataBase Connectivity)是微軟公司開發的一套開發數據庫系統應用程序接口規范,它支持應用程序以標準的ODBC函數和SQL語句操作各種不同

3、的數據庫。 ODBC數據訪問接口 開放式數據庫互連ODBC(Open DJDBC數據訪問接口 為支持Java程序的數據庫操作功能,Java語言采用了專門Java數據庫編程接口(JDBC,Java DataBase Connectivity),用于在Java程序中實現數據庫操作功能并簡化操作過程。JDBC支持基本SQL語句,提供多樣化的數據庫連接方式,為各種不同的數據庫提供統一的操作界面 JDBC數據訪問接口 為支持Java程序的數據庫操作功能,JSQL語句分類 SQL分類描述數據定義語言(DDL)數據定義語言(DDL)用于定義、修改或者刪除數據庫對象,如Create Table等數據查詢語言(

4、DQL)數據查詢語句(Data Query Language,DQL)用于對數據進行檢索。如最常用的Select語句數據操縱語言(DML)數據操縱語言(DML)用于訪問、建立或者操縱在數據庫中已經存在數據,如Select、Insert、Update和Delete等等。事務控制語言(TCL)事務控制語言(Transact Control Language)管理DML語句所做的修改,是否保存修改或者放棄修改。如:Commit、Rollback、Savepoint、Set Transaction等命令。數據控制語言(DCL)數據控制語言(DCL)管理對數據庫內對象的訪問權限和授予和回收,如Grant

5、、Revoke等等。SQL語句分類 SQL分類描述數據定義語言數據定義語言(DD基本SQL語句 基本的SQL語句包括DQL和DML。也就是對數據庫最常用的四大基本操作:查詢(Select)、插入(Insert)、更新(Update)和刪除(Delete) 基本SQL語句 基本的SQL語句包括DQL和DML。也就是對查詢語句 SELECT 字段名 FROM 數據表 WHERE 篩選條件SELECT * FROM grade WHERE數學=80 or 語文=90SELECT * from userTable where user_age in 20,22,25SELECT * from user

6、Table where user_name like 王%SELECT * from userTable where user_name is null查詢語句 SELECT 字段名 FROM 數據表 WHEDML的基本格式(1)DELETE指令:刪除數據記錄。基本語法:DELETE FROM 數據表 WHERE 條件例:DELETE from grade WHERE 數學=0 功能說明:刪除所有數學成績為零的記錄,如果沒有WHERE子句,則刪除所有記錄。(2)UPDATE指令:更新數據記錄。基本語法:UPDATE 數據表 SET 字段值=新值 WHERE條件例1:UPDATE grade S

7、ET 數學=數學+10 說明:將grade表中所有人的成績加10分 例2:UPDATE grade SET 數學=100 WHERE 姓名 like %敏% 功能說明:將姓名中含有敏的人的數學成績更新為100分DML的基本格式(1)DELETE指令:刪除數據記錄。(2)INSERT INTO指令功能說明:該語句等價于:INSERT INTO grade(學號, 姓名, 語文, 數學, 英語) VALUES (5678, 周潤發,70,80,90)(3)INSERT INTO指令:添加數據記錄。基本格式1:INSERT INTO 數據表 VALUES (字段新值)基本格式2:INSERT INT

8、O 數據表(字段一,字段二,) VALUES (字段新值) 其中關鍵字兩種格式的區別是:當values含有數據庫表所有字段的值,并且順序和數據庫字段一致時,就可以省略數據庫表后面的字段名稱。例1:INSERT INTO grade(學號, 姓名, 數學) VALUES (1234, 周潤發,70)例2:INSERT INTO grade VALUES (5678, 周潤發,70,80,90)INSERT INTO指令功能說明:該語句等價于:(3)INJDBC的四種類型 目前,比較常見的JDBC驅動程序可分為以下4種類型:(1)JDBC-ODBC橋加ODBC驅動程序:JDBC-ODBC橋產品利用

9、ODBC驅動程序提供JDBC訪問。在服務器上必須可以安裝ODBC驅動程序。(2)本地API:這種類型的驅動程序把客戶機API上的JDBC調用轉換為Oracle、Sybase、Informix、DB2或其它DBMS的調用。(3)JDBC網絡純Java驅動程序:這種驅動程序將JDBC轉換為與DBMS無關的網絡協議,之后這種協議又被某個服務器轉換為一種DBMS協議。這種網絡服務器中間件能夠將它的純Java客戶機連接到多種不同的數據庫上。第3類和第4類驅動程序將成為JDBC訪問數據庫的首選方法。第1類和第2類驅動程序在直接的純Java驅動程序還沒有上市前會作為過渡方案來使用。(4)本地協議純Java驅

10、動程序:這種類型的驅動程序將JDBC調用直接轉換為DBMS所使用的網絡協議。這將允許從客戶機機器上直接調用DBMS服務器,是Intranet訪問的一個很實用的解決方法。JDBC的四種類型 目前,比較常見的JDBC驅動程序可分為以ODBC數據源 ODBC配置ODBC數據源 ODBC配置數據驅動程序 使用JDBC的第一步是安裝驅動程序。大多數數據庫都有JDBC驅動程序,常用的JDBC驅動程序如圖所示。數據驅動程序 使用JDBC的第一步是安裝驅動程序。大多數數據Driver 連接數據庫前先要加載驅動程序import java.sql.*Class.forName(“sun.jdbc.odbc.Jdb

11、cOdbcDriver”);Class.forName(“jdbc.driver_class_name”);com.microsoft.jdbc.sqlserver.SQLServerDriverorg.gjt.mm.mysql.DriverOracle.jdbc.driver.OracleDriverDriver 連接數據庫前先要加載驅動程序import jaConnection對象 public static Connection getConnection(String url, String user, String password) throws SQLException 建立是建

12、立與數據庫之間的連接,也就是創建一個Connection的實例。DriverManager類的getConnection()方法將建立數據庫的連接:在程序的最后,應該關閉Connection對象:public void close() throws SQLExceptionSQL Server下的URL:jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=xxConnection對象 public static ConConnection接口的方法 public Statement createStatement() throws SQL

13、Exception public void commit() throws SQLExceptionpublic boolean getAutoCommit() throws SQLException public CallableStatement prepareCall(String sql) throws SQLExceptionConnection接口的方法 public StatemeStatement對象 Statement對象用于將SQL語句發送到數據庫中。存在3種Statement對象:(1)Statement;(2)PreparedStatement(從Statement繼承

14、而來);(3)CallableStatement(從PreparedStatement繼承而來)。Statement對象 Statement對象用于將SQL語Statement接口Statement接口提供了兩種執行SQL語句的常用方法:public ResultSet executeQuery(String sql) throws SQLException用于產生單個ResultSet的語句,例如SELECT語句。public int executeUpdate(String sql) throws SQLException用于執行INSERT、UPDATE或DELETE語句以及SQL DD

15、L語句,例如CREATE TABLE和DROP TABLE。該方法返回一個整數,指示受影響的行數。Statement接口Statement接口提供了兩種執行SResultSet對象 ResultSet包含符合SQL語句執行結果所有行,并且它通過一套get方法提供了對這些行中數據的訪問,常用的get方法有:int getInt(int columnIndex),取得當前行中第columnIndex列的整數的值。int getInt(String columnName),取得當前行中列名為columnName的整數的值。其他方法:getDate(int columnIndex) getDate(S

16、tring columnName)getString(int columnIndex) ,getString(String columnName)ResultSet維護指向其當前數據行的光標,讓光標向下移動一行的方法是:public boolean next() throws SQLExceptionResultSet對象 ResultSet包含符合SQL語句利用While循環獲取數據表中所有記錄 利用ResultSet對象在建立時,記錄指針指向第一條記錄之前,結合ResultSet對象提供的next方法,在while循環中移動記錄指針,向下逐條地將數據庫中的記錄依次獲取,在移動到記錄的最后一

17、條,由next方法返回值false來結束循環。語法結構: while(rs.next() rs.getXXX(“字段名稱”); 利用While循環獲取數據表中所有記錄 利用Result結果集類型 結果集類型有3種:ResultSet.TYPE_FORWORD_ONLY:指定ResultSet對象是不可滾動,這是默認值。ResultSet.TYPE_SCOLL_INSENSITIVE:指定ResultSet對象是可滾動的,但是對數據庫中修改不敏感。ResultSet.TYPE_SCOLL_SENSITIVE:指定ResultSet對象是可滾動的,而且對數據庫的修改敏感。結果集類型 結果集類型有3

18、種:ResultSet.TYPE_修改對結果集的影響 類型看到內部更新看到內部刪除看到內部插入看到外部更新看到外部刪除看到外部插入只向前是否否否否否可滾動不敏感是是否否否否可滾動敏感是是否是否否修改對結果集的影響 類型看到內部更新看到內部刪除看到內部插入結果集的并發性結果集的并發性(Concurrency)決定ResultSet對象是否可以修改數據庫中的行。可以使用ResultSet類中定義的int常量來指定結果集的并發性。ResultSet.CONCUR_READ_ONLY,指定ResultSet對象不能修改數據庫,默認值。ResultSet.CONCUR_UPDATABLE,指定ResultSet對象可以修改數據庫結果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論