第11章 數(shù)據(jù)庫應用2_第1頁
第11章 數(shù)據(jù)庫應用2_第2頁
第11章 數(shù)據(jù)庫應用2_第3頁
第11章 數(shù)據(jù)庫應用2_第4頁
第11章 數(shù)據(jù)庫應用2_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

11.3JDBC11.3.1JDBC的作用和功能11.3.2指定JDBC驅(qū)動程序11.3.3連接數(shù)據(jù)庫11.3.4執(zhí)行SQL語句11.3.5處理數(shù)據(jù)查詢的結(jié)果集11.3.1JDBC的作用和功能★什么是JDBCJDBC(JavaDataBaseConnectivity,Java數(shù)據(jù)庫連接)是基于Java的、用于訪問關(guān)系數(shù)據(jù)庫的應用程序編程接口。★

Java程序通過JDBC訪問數(shù)據(jù)庫的關(guān)系11.3.1JDBC的作用和功能★JDBCAPI是一組由Java語言編寫的類和接口,包含在java.sql和javax.sql兩個包中java.sql為核心包,這個包包含于J2SE中javax.sql包擴展了JDBCAPI的功能,成為了J2EE的一個基本組成部分可分為兩個層次面向底層的JDBCDriverAPI主要是針對數(shù)據(jù)庫廠商開發(fā)數(shù)據(jù)庫底層驅(qū)動程序使用面向程序員的JDBCAPI通過JDBC訪問數(shù)據(jù)庫★面向程序員的JDBCAPI可以完成以下主要任務首先建立和數(shù)據(jù)源的連接然后向其傳送查詢和修改等SQL命令最后處理數(shù)據(jù)源返回的SQL執(zhí)行的結(jié)果通過JDBC訪問數(shù)據(jù)庫通過JDBC訪問數(shù)據(jù)庫JDBCAPI的基本功能、組成和工作原理圖11.17JDBCAPI的組成和工作原理

名稱解釋DriverManager處理驅(qū)動的調(diào)入并且對產(chǎn)生新的數(shù)據(jù)庫連接提供支持DataSource在JDBC2.0API中被推薦使用代替DriverManager實現(xiàn)和數(shù)據(jù)庫的連接Connection代表對特定數(shù)據(jù)庫的連接Statement代表一個特定的容器,容納并執(zhí)行一條SQL語句ResultSet控制執(zhí)行查詢語句得到的結(jié)果集JDBC

API中重要的接口和類一個基本的JDBC程序開發(fā)包含如下步驟設置環(huán)境,引入相應的JDBC類選擇合適的JDBC驅(qū)動程序并加載分配一個Connection對象分配一個Statement對象用該Statement對象進行查詢等操作從返回的ResultSet對象中獲取相應的數(shù)據(jù)關(guān)閉ConnectionJDBC程序開發(fā)步驟設置環(huán)境在本機上安裝有關(guān)數(shù)據(jù)庫軟件下載相應數(shù)據(jù)庫驅(qū)動程序并安裝在Java程序中引入相應的類和包。任何使用JDBC的源程序都需要引入java.sql包,如必要的時候還需要裝載相應的JDBC-ODBC驅(qū)動程序的包importjava.sql.*;importsun.jdbc.odbc.JdbcOdbcDriver;通過JDBC訪問數(shù)據(jù)庫通過JDBC-ODBC橋訪問數(shù)據(jù)庫安裝Java和JDBCAPI安裝JDK的同時就自動安裝了安裝數(shù)據(jù)庫驅(qū)動程序安裝JDK的同時就自動安裝了JDBC-ODBC橋驅(qū)動程序安裝DBMS建立一個數(shù)據(jù)庫,并注冊數(shù)據(jù)源設置環(huán)境(續(xù))

——通過JDBC-ODBC橋訪問數(shù)據(jù)庫通過JDBC訪問數(shù)據(jù)庫

1.確定數(shù)據(jù)源名稱和說明。依次進入本機的控制面板——>管理工具——>數(shù)據(jù)源(ODBC),彈出“ODBC數(shù)據(jù)源管理器”對話框,單擊“用戶DSN”選項卡,選擇”添加”按鈕設置環(huán)境(續(xù))——注冊數(shù)據(jù)源

2.單擊“添加”按鈕后彈出“創(chuàng)建數(shù)據(jù)源”對話框,選擇“MicrosoftAccessDriver”選項。單擊“完成”按鈕后,彈出“ODBCMicrosoftAccess安裝”對話框,在“數(shù)據(jù)源名”輸入框中填寫“student”;單擊選擇按鈕,彈出“選擇數(shù)據(jù)庫”對話框,在目錄中選定剛剛建好的數(shù)據(jù)庫文件“學生庫.mdb”通過JDBC訪問數(shù)據(jù)庫

3.單擊“高級”按鈕,彈出“設置高級選項”對話框,在“登錄名稱”文本編輯框中設定登陸名稱為“l(fā)i”,在“密碼”文本編輯框中設定密碼為“l(fā)i”。依次確定返回到“ODBC數(shù)據(jù)源管理器”對話框,這時可以發(fā)現(xiàn)“系統(tǒng)數(shù)據(jù)源”選項中增添了一個新確定的數(shù)據(jù)源“student”,單擊“ODBCMicrosoftAccess”對話框的“確定”按鈕,就完成了數(shù)據(jù)源的注冊建立連接—裝載驅(qū)動器

接下來要建立和DBMS的連接。包括兩個步驟:(1)裝載驅(qū)動器,用Class.forName方法顯式裝載驅(qū)動程序,如:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");(2)建立與數(shù)據(jù)庫的連接,調(diào)用DriverManager.getConnection()方法。例如,我們要連接上一節(jié)創(chuàng)建的Access數(shù)據(jù)庫students,語句如下:Connectioncon=DriverManager.getConnection("jdbc:odbc:student","li","li");對數(shù)據(jù)庫進行操作建立好到數(shù)據(jù)庫的連接后,就可以進行對數(shù)據(jù)庫的操作了,一般包括如下三個步驟:使用Connection對象創(chuàng)建Statement對象使用Statement對象執(zhí)行SQL命令從上一步驟返回的ResultSet對象中提取執(zhí)行結(jié)果第11章數(shù)據(jù)庫應用\數(shù)據(jù)庫例題1importjava.sql.*;publicclassqq{publicstaticvoidmain(String[]args)throwsException { StringDBDriver="sun.jdbc.odbc.JdbcOdbcDriver"; Connectioncon=null; Statementstmt=null; ResultSetrs=null; Class.forName(DBDriver); //加載驅(qū)動

con=DriverManager.getConnection("jdbc:odbc:student");//連接數(shù)據(jù)庫

stmt=con.createStatement();//創(chuàng)建Statement對象rs=stmt.executeQuery("Select*From學生表");//查詢表System.out.println("學號"+"\t"+"姓名"+"\t"+"性別"+"\t"+"出生日期"+"\t"+"系別"+"\t"+"數(shù)學"+"\t"+"英語"+"\t"+"計算機"); while(rs.next()) {//顯示所有記錄的ID和姓名 System.out.print(rs.getString("學號")+"\t"); System.out.print(rs.getString("姓名")+"\t"); System.out.print(rs.getString("性別")+"\t"); System.out.print(rs.getString("出生日期")+"\t");System.out.print(rs.getString("系別")+"\t"); System.out.print(rs.getInt("數(shù)學")+"\t"); System.out.print(rs.getInt("英語")+"\t"); System.out.println(rs.getInt("計算機")+"\t"); };

stmt.executeUpdate("INSERTINTO學生表VALUES('104','張四','女','1980-1-5','農(nóng)學',70,60,60)");

System.out.println("添加數(shù)據(jù)后的信息為");rs=stmt.executeQuery("Select*From學生表");

System.out.println("學號"+"\t"+"姓名"+"\t"+"性別"+"\t"+"出生日期"+"\t"+"系別"+"\t"+"數(shù)學"+"\t"+"英語"+"\t"+"計算機");while(rs.next()){//顯示所有記錄的ID和姓名

System.out.print(rs.getString("學號")+"\t");System.out.print(rs.getString("姓名")+"\t");System.out.print(rs.getString("性別")+"\t");System.out.print(rs.getString("出生日期")+"\t");System.out.print(rs.getString("系別")+"\t");System.out.print(rs.getInt("數(shù)學")+"\t");System.out.print(rs.getInt("英語")+"\t");System.out.println(rs.getInt("計算機")+"\t"); };

stmt.executeUpdate("DELETEFROM學生表WHERE姓名='張二'");System.out.println("刪除數(shù)據(jù)后的信息為:");rs=stmt.executeQuery("Select*From學生表");//查詢表

System.out.println("學號"+"\t"+"姓名"+"\t"+"性別"+"\t"+"出生日期"+"\t"+"系別"+"\t"+"數(shù)學"+"\t"+"英語"+"\t"+"計算機");while(rs.next()){System.out.print(rs.getString("學號")+"\t");System.out.print(rs.getString("姓名")+"\t");System.out.print(rs.getString("性別")+"\t");System.out.print(rs.getString("出生日期")+"\t");System.out.print(rs.getString("系別")+"\t");System.out.print(rs.getIn

溫馨提示

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

評論

0/150

提交評論