《《java與數(shù)據(jù)庫(kù)連接》PPT課件.pptx》由會(huì)員分享,可在線閱讀,更多相關(guān)《《java與數(shù)據(jù)庫(kù)連接》PPT課件.pptx(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Java與數(shù)據(jù)庫(kù)訪問(wèn) Outline1 .JDBC 概述2 .用JDBC訪問(wèn)數(shù)據(jù)庫(kù)3 .數(shù)據(jù)庫(kù)連接Connection4 .語(yǔ)句對(duì)象Statement5 .結(jié)果集ResultSet6 .事務(wù)處理 JDBC概述為支持Java程序的數(shù)據(jù)庫(kù)操作功能,Java語(yǔ)言采用了專門的Java數(shù)據(jù)庫(kù)編程接口(JDBC:JavaDataBaseConnectivity),用于在Java程序中實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作功能并簡(jiǎn)化操作過(guò)程。JDBC支持SQL語(yǔ)句,提供多樣化的數(shù)據(jù)庫(kù)連接方式,為各種不同的數(shù)據(jù)庫(kù)提供統(tǒng)一的操作界面。(微軟開發(fā))(IBM開發(fā)) ODBCODBC(Open DataBase Connectivity):
2、 Microsoft公司開發(fā)的一套開發(fā)數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用程序的規(guī)范,它相當(dāng)于一個(gè)轉(zhuǎn)換開關(guān),負(fù)責(zé)將應(yīng)用程序發(fā)送來(lái)的標(biāo)準(zhǔn)SQL語(yǔ)句傳遞給各種數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序處理,再將處理結(jié)果送回應(yīng)用程序。于是,應(yīng)用程序開發(fā)者只需面對(duì)統(tǒng)一的ODBC數(shù)據(jù)源,而不必針對(duì)各種數(shù)據(jù)庫(kù)進(jìn)行不同的設(shè)置。這樣的程序具備良好的適應(yīng)性和可移植性。 JDBC概述JDBC用途:與特定的數(shù)據(jù)庫(kù)進(jìn)行連接 向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的特定操作 對(duì)數(shù)據(jù)庫(kù)返回出來(lái)的結(jié)果進(jìn)行處理 JDBC API: Driver :用來(lái)將應(yīng)用程序的API請(qǐng)求轉(zhuǎn)換為特定的數(shù)據(jù)庫(kù)請(qǐng)求,由它來(lái)負(fù)責(zé)和數(shù)據(jù)庫(kù)打交道。 DriverManager :接口,不同的驅(qū)動(dòng)程序必
3、須首先到DriverManager中注冊(cè),以便用戶來(lái)使用。用來(lái)產(chǎn)生一個(gè)和數(shù)據(jù)庫(kù)連接的對(duì)象Connection。 Connection :一個(gè)Connection對(duì)象表示在一個(gè)特定數(shù)據(jù)庫(kù)上建立的一個(gè)連接,需要由它來(lái)創(chuàng)建不同的聲明(Statement,PreparedStatement, CallableStatement )來(lái)執(zhí)行特定的SQL語(yǔ)句。 Statement (PrepareStatement,CallableStatement )在一個(gè)給定的連接中,用于執(zhí)行一個(gè)SQL語(yǔ)句并返回相應(yīng)結(jié)果的對(duì)象。 ResultSet :記錄的集合。 用JDBC訪問(wèn)數(shù)據(jù)庫(kù)Dri verManager Co
4、nnecti on Statement ResultSetDri ver數(shù)據(jù)庫(kù) 創(chuàng)建 創(chuàng)建 執(zhí)行SQ L返回結(jié)果 用JDBC訪問(wèn)數(shù)據(jù)庫(kù)Java中用JDBC訪問(wèn)數(shù)據(jù)庫(kù)有6個(gè)步驟:一.加載JDBC驅(qū)動(dòng)程序:注:要確保驅(qū)動(dòng)程序的Jar包在classpath中,C:oracleora9 2 jdbclibclasses1 2 .jar例如: Class.forName(“oracle.jdbc.driver.OracleDriver”);Class.forName(“com.MySql.jdbc.Driver”);Class.forName(“com.microsoft.jdbc.sqlserver.
5、SQLServerDriver”);二.連接數(shù)據(jù)庫(kù):Connection 連接變量=DriverManager.getConnection(DBURL,用戶帳號(hào),密碼); 如果連接成功,將返回一個(gè)Connection對(duì)象,以后所有對(duì)這個(gè)數(shù)據(jù)庫(kù)的操作均可使用這個(gè)對(duì)象來(lái)進(jìn)行。如: Connection conn = DriverManager.getConnection(jdbc:oracle:thin:1 9 2 .1 6 8 .8 1 .1 2 1 :1 5 2 1 :orcl,stu05 ,swufe1 1 1 ); 用JDBC訪問(wèn)數(shù)據(jù)庫(kù)三.建立SQL語(yǔ)句對(duì)象: Statement對(duì)象用來(lái)向
6、數(shù)據(jù)庫(kù)發(fā)送SQL命令.Statement stmt=conn.CreateStatement();四.執(zhí)行SQL語(yǔ)句:我們可以通過(guò)SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、修改或添加數(shù)據(jù)。建立SQL語(yǔ)句對(duì)象后,就可用executeQuery(String s)方法來(lái)執(zhí)行Select語(yǔ)句,用executeUpdate(String s )來(lái)執(zhí)行Insert、Delete、Update語(yǔ)句。五.結(jié)果處理(課程不要求).使用ResultSet的next方法在結(jié)果集中移動(dòng),每次移動(dòng)一行.在每一行中,ResultSet提供了各種getX方法.它們以列名或索引為參數(shù).如getInt getString等方法.六.關(guān)閉連接:Con.close(); (可參照FormAdd.txt文件來(lái)理解) JDBC的類和方法都包含在java.sql包中,Java數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)都需要引入java.sql包。 Question And Answer