秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

c23數(shù)據(jù)庫連接jdbc.ppt

上傳人:za****8 文檔編號:20008702 上傳時間:2021-01-24 格式:PPT 頁數(shù):30 大?。?23.52KB
收藏 版權(quán)申訴 舉報 下載
c23數(shù)據(jù)庫連接jdbc.ppt_第1頁
第1頁 / 共30頁
c23數(shù)據(jù)庫連接jdbc.ppt_第2頁
第2頁 / 共30頁
c23數(shù)據(jù)庫連接jdbc.ppt_第3頁
第3頁 / 共30頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《c23數(shù)據(jù)庫連接jdbc.ppt》由會員分享,可在線閱讀,更多相關(guān)《c23數(shù)據(jù)庫連接jdbc.ppt(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、Java 數(shù)據(jù)庫連接 (JDBC) 第 23 章 回顧 線程的概念 Java中線程的實現(xiàn)方式 共享數(shù)據(jù)的保護(同步) 線程間通信 “死鎖”的概念及預(yù)防 目標(biāo) JDBC的概念 JDBC的使用 PreparedStatement 接口 CallableStatement 接口 JDBC 概念 2-1 JDBC是 JDK核心的一部分 由一組用 Java 編程語言編寫的類和接口組成 用于執(zhí)行 SQL語句 使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 來編寫數(shù)據(jù) 庫應(yīng)用程序 基本功能 與數(shù)據(jù)庫建立連接 發(fā)送 SQL 語句到數(shù)據(jù)庫 處理返回結(jié)果 JDBC 概念 2-2 特性 易于理解和使用 允許 Java用

2、一致的方法訪問不同類型的數(shù)據(jù)庫 提供多種選擇,適應(yīng)不同需求 屏蔽不同數(shù)據(jù)庫數(shù)據(jù)類型定義的差異 在類 Java.SQL.Types 中定義了一組通用 SQL 類型 標(biāo)識符 提供 DatabaseMetaData 接口,允許用戶檢索關(guān)于 所使用的 DBMS 信息 JDBC 驅(qū)動程序 JDBC的三個組件 應(yīng)用程序 驅(qū)動程序管理器 ( DriverManager ) 驅(qū)動程序 ( Driver ) JDBC驅(qū)動程序的類型 JDBC-ODBC 橋加 ODBC 驅(qū)動程序 本地 API JDBC 網(wǎng)絡(luò)純 Java 驅(qū)動程序 本地協(xié)議純 Java 驅(qū)動程序 第一種驅(qū)動程序 JDBC-ODBC 橋 優(yōu)點 JDK

3、 的標(biāo)準部分 到處都有 ODBC 驅(qū) 動程序 缺點 中間層次可能會導(dǎo) 致性能降低 客戶端需要安裝 ODBC, 不適合大型 網(wǎng)絡(luò)分布式應(yīng)用 第二種驅(qū)動程序 本地 API 優(yōu)點 數(shù)據(jù)庫客戶端好時, 會獲得高效率 缺點 客戶端需要安裝合 適的數(shù)據(jù)庫客戶機庫 程序,不適合大型網(wǎng) 絡(luò)分布式應(yīng)用 第三種驅(qū)動程序 JDBC 網(wǎng)絡(luò)純 Java 驅(qū)動 程序 優(yōu)點 中間層次提供了靈活性: 可以用相同的代碼訪問不 同的數(shù)據(jù)庫 純 Java 驅(qū)動程序,客戶 端安裝容易,適合大型網(wǎng) 絡(luò)分布應(yīng)用 缺點 額外的中間層次可能有 損整體系統(tǒng)性能 第四種驅(qū)動程序 本地協(xié)議純 Java 驅(qū)動 程序 優(yōu)點 直接與數(shù)據(jù)庫進行通訊, 性

4、能最佳 純 Java 驅(qū)動程序,客戶 端安裝容易,適合大型網(wǎng) 絡(luò)分布應(yīng)用 缺點 緊密耦合會影響靈活性, 特別是如果您需要改變應(yīng) 用程序中的底層數(shù)據(jù)庫時 四種驅(qū)動使用的差異 不同點 準備工作不同 比如, JDBC-ODBC 橋需要先建立數(shù)據(jù)源;本地協(xié) 議純 Java 驅(qū)動程序需要下載 jar文件,設(shè)置 classpath 程序不同 驅(qū)動程序名稱字符串不同 數(shù)據(jù)庫 URL標(biāo)識字符串不同 如果將驅(qū)動程序、數(shù)據(jù)庫 URL標(biāo)識字符串通過配置 文件實現(xiàn),則程序可以完全相同 除此之外沒有區(qū)別 JDBC 使用步驟 7-1 加載驅(qū)動程序 Class.forName 通過名字 className加載類 class

5、Name 因驅(qū)動不同而不同 第一種: sun.jdbc.odbc.JdbcOdbcDriver 第四種舉例: oracle.jdbc.OracleDriver try Class.forName(className); catch(ClassNotFoundException e) JDBC 使用步驟 7-2 建立數(shù)據(jù)庫連接 數(shù)據(jù)庫 URL標(biāo)識 jdbc: 第一種舉例: jdbc:odbc:dsn_name 第四種舉例: jdbc:oracle:thin:zhuxg:1521:oracledb import java.sql.*; / 其他代碼 try Connection con = Dri

6、verManager.getConnection(“URL” ,“登錄名” ,“口令 ); catch(SQLException e) JDBC 使用步驟 7-3 創(chuàng)建 Statement 對象 Statement 對象負責(zé)將 SQL 語句發(fā)送到 DBMS Statement sql = con.createStatement(); JDBC 使用步驟 7-4 提交 SQL 語句 Statement 對象的方法 int rt = stmt.executeUpdate(sqlString); 用于提交 DDL 、 insert、 update和 delete 返回值為語句影響行數(shù)或 0 Resu

7、ltSet rs = stmt.executeQuery(sqlString); 用于提交 SELECT 返回值為 ResultSet 對象,記錄的集合 boolean b = stmt.execute(sqlString); 用于執(zhí)行任何 SQL 語句,可能返回多個結(jié)果。結(jié)果可通 過 getResultSet(), getUpdateCount(), getMoreResults() 獲得 返回 true 表示第一個 返回 結(jié)果為 ResultSet JDBC 使用步驟 7-5 處理返回結(jié)果 ResultSet 使用 next()方法可以順序查詢 結(jié)果集將游標(biāo)最初定位在第一行的前面 第一次調(diào)

8、用 next()方法使游標(biāo)移動到第一行 以后每次調(diào)用,下移一行 next()方法返回一個 boolean型數(shù)據(jù),當(dāng)游標(biāo)移動到最后一行 之后返回 false 使用 getXXX 方法檢索數(shù)據(jù) getInt() 用于檢索整型值 getString() 用于檢索字符串值 getXXX 方法可按字段名和字段順序,按字段順序時不可顛倒順 序,比如先 rs.getInt(5); 再 rs.getString (3); JDBC 使用步驟 7-6 關(guān)閉 Statement 一個 Statement 對象同時只能打開一個 ResultSet 執(zhí)行完 SQL 語句可以關(guān)閉 Statement stmt.clos

9、e(); JDBC 使用步驟 7-7 斷開數(shù)據(jù)庫連接 建立連接比較費時 所有數(shù)據(jù)庫操作完成,可以斷開連接 Connection con.close(); 一個完整的例子 Ch4_1Employees.java Statement 高級應(yīng)用 4-1 Statement sql =con.createStatement(type, concurrency); 根據(jù) type, concurrency 的取值, stmt返回相應(yīng)類型的結(jié)果 集 type的取值 ResultSet.TYPE_FORWARD_ONLY ResultSet.TYPE_SCROLL_INSENSITIVE ResultSet

10、.TYPE_SCROLL_SENSITIVE concurrency的取值 ResultSet.CONCUR_READ_ONLY ResultSet.CONCUR_UPDATABLE Statement 高級應(yīng)用 4-2 ResultSet.TYPE_FORWARD_ONLY 結(jié)果集只能向前滾動 默認方式 ResultSet 有關(guān)方法 next() ResultSet.TYPE_SCROLL_INSENSITIVE 結(jié)果集可前后滾動 數(shù)據(jù)庫內(nèi)容變化時 ResultSet 內(nèi)容不變 ResultSet.TYPE_SCROLL_SENSITIVE 結(jié)果集可前后滾動 數(shù)據(jù)庫內(nèi)容變化時 ResultS

11、et 內(nèi)容同步改變 Statement 高級應(yīng)用 4-3 前后滾動 ResultSet 有關(guān)方法 previous(); next(); beforeFirst(); afterLast(); first(); last(); isAfterLast(); isBeforeFirst(); isFirst(); islast(); getRow(); absolute(int row); 注意 行號從 1開始 如果取負值,就是倒數(shù)的行數(shù), absolute(-1);表示移到最 后一行 移到最后一行再用 getRow()獲取行號,就得到總的行數(shù) Statement 高級應(yīng)用 4-4 Result

12、Set.CONCUR_READ_ONLY ResultSet 只能讀數(shù)據(jù)庫 ResultSet.CONCUR_UPDATABLE ResultSet 能用于更新數(shù)據(jù)表 ResultSet 的相關(guān)方法 public void updateXXX(String columnName, XXX x) throws SQLException public void updateRow() throws SQLException 例程序 JdbcDemo.java 高級查詢 使用過濾條件 sql.executeQuery(Select * from Student where Id2); 排序查詢 sq

13、l.executeQuery(Select * from Student Order By Id); 模糊查詢 可以用 SQL語句操作符 LIKE進行模式匹配,使用“ %” 代替一個或多個字符,用一個下劃線“ _”代替一個字 符。 sql.executeQuery(“Select * from Student Where Name Like 王 % ); 更新添加刪除記錄 添加新記錄 sql. executeUpdate(“INSERT INTO Student VALUES(33,LiuMing,xcn)”); 刪除記錄 sql. executeUpdate(“Delete From Stu

14、dent Where Id 2”); 更新記錄 sql. executeUpdate(“Update Student Set Name= Wang Where Id =2”); PreparedStatement接口 2-1 要多次執(zhí)行一個 SQL語句, 使用 PreparedStatement SQL 語句在創(chuàng)建時提供參數(shù) 在執(zhí)行 PreparedStatement 時,只傳遞參數(shù)值 通過不同的參數(shù)值多次調(diào)用 PreparedStatement pStmt = conn.preparedStatement( insert into emp (empno , ename) values(?,?

15、); PreparedStatement接口 2-2 在創(chuàng)建 PreparedStatement 對象之后,必須為參 數(shù)賦值 使用 setXXX方法 用 executeUpdate() 方法執(zhí)行 SQL語句 例程序 Ch4_2EmployeesPrepStat.java CallableStatement 接口 CallableStatement 用于執(zhí)行 SQL 存儲過程 CallableStatement cStmt = conn.prepareCall(call showEmployees(?,?); IN參數(shù) setXXX(index,value); OUT參數(shù) registerOutParameter(index,Type) getXXX(index); IN OUT參數(shù) 設(shè)置輸入和 IN參數(shù)相同 也需要象 OUT參數(shù)一樣注冊和獲取返回值 例程序 JDBCPureJava.java 使用套接字 客戶端程序 服務(wù)端程序 JDBC 數(shù)據(jù)庫( DBMS) Socket發(fā)送 SQL語句,接 收查詢結(jié)果 優(yōu)點:客戶端不需 要任何驅(qū)動程序 總結(jié) JDBC的概念 JDBC的使用 PreparedStatement 接口 CallableStatement 接口 作業(yè) P329 習(xí)題 2

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!