數(shù)據(jù)庫原理與開發(fā)技術 課件 10.2 JDBC技術基礎_第1頁
數(shù)據(jù)庫原理與開發(fā)技術 課件 10.2 JDBC技術基礎_第2頁
數(shù)據(jù)庫原理與開發(fā)技術 課件 10.2 JDBC技術基礎_第3頁
數(shù)據(jù)庫原理與開發(fā)技術 課件 10.2 JDBC技術基礎_第4頁
數(shù)據(jù)庫原理與開發(fā)技術 課件 10.2 JDBC技術基礎_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

10.2JDBC技術基礎本章主要內(nèi)容:(1)Java、Eclipse的下載安裝,JDBCforSQLServer驅(qū)動下載(2)EclipseIDE中構(gòu)建JDBC數(shù)據(jù)庫驅(qū)動程序(4)Connection對象及常用方法(5)Statement對象及常用方法(6)ResultSet對象及常用方法(3)JDBC技術基礎10.2.1JDBCforSQLServer驅(qū)動程序下載Java是通過JDBC(JavaDataBaseConnectivity,Java數(shù)據(jù)連接)來操作各種主流數(shù)據(jù)庫的。各種主流數(shù)據(jù)庫都提供了Java的API接口。Java操作SQLServer數(shù)據(jù)庫的驅(qū)動程序需要單獨下載,其下載地址如下,進入網(wǎng)址(一定要選擇官網(wǎng)),如圖所示。

/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15&viewFallbackFrom=sql-server-201910.2.1JDBCforSQLServer驅(qū)動程序下載將下載的壓縮文件sqljdbc__chs.zip,解壓后,如圖所示。10.2.2JDBC簡介JDBC是一種可以執(zhí)行SQL語句的JavaAPI,它由一組用Java語言編寫的類和接口組成。程序通過JDBCAPI連接到關系數(shù)據(jù)庫,并使用SQL語句,來完成對數(shù)據(jù)庫的查詢、更新。后臺的數(shù)據(jù)庫安裝好之后,前臺的Java程序是不能直接訪問數(shù)據(jù)庫的,必須要通過相應的數(shù)據(jù)庫驅(qū)動程序。這個驅(qū)動程序就是數(shù)據(jù)庫廠商的JDBC接口實現(xiàn),即對Connection等接口的實現(xiàn)類的jar文件。如圖所示。10.2.2JDBC簡介10.2.3JDBC常用接口及常用方法簡介1.Driver接口Driver接口由數(shù)據(jù)庫廠家提供。在編程中要連接數(shù)據(jù)庫,必須先加載特定廠商的數(shù)據(jù)庫驅(qū)動程序,不同的數(shù)據(jù)庫有不同的裝載方法。例如:

(1)加載MySql驅(qū)動:Class.forName("com.mysql.jdbc.Driver");(2)加載Oracle驅(qū)動:

Class.forName("oracle.jdbc.driver.OracleDriver");(3)加載SQLServer驅(qū)動:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");10.2.3JDBC常用接口及常用方法簡介2.Connection接口Connection是數(shù)據(jù)庫連接對象,每個Connection代表一個物理連接會話。要訪問數(shù)據(jù)庫,必須先建立數(shù)據(jù)庫連接。客戶端與數(shù)據(jù)庫所有交互都是通過Connection對象完成的,其創(chuàng)建方法為:Connectionconn=DriverManager.getConnection(url,user,pass);

不同的數(shù)據(jù)庫有不同的連接參數(shù),具體以對應版本為準。例如:(1)連接MySql數(shù)據(jù)庫(默認端口號3306):Connectionconn=

DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");

(2)連接Oracle數(shù)據(jù)庫(默認端口號1521):Connectionconn=

DriverManager.getConnection("jdbc:oracle:thin:@host:port:db","user","password");

(3)連接SQLServer數(shù)據(jù)庫(默認端口號1433):Connectionconn=

DriverManager.getConnection("jdbc:sqlserver://host:port;databaseName=db","user","password");10.2.3JDBC常用接口及常用方法簡介表10-1Connection對象的常用方法序號方法方法說明1createStatement()創(chuàng)建向數(shù)據(jù)庫發(fā)送SQL的statement對象2prepareStatement(sql)創(chuàng)建向數(shù)據(jù)庫發(fā)送預編譯SQL的PrepareSatement對象3prepareCall(sql)創(chuàng)建執(zhí)行存儲過程的CallableStatement對象4setAutoCommit(boolean

autoCommit)設置事務是否自動提交5commit()提交事務6rollback()回滾事務10.2.3JDBC常用接口及常用方法簡介3.Statement接口Statement對象用于向數(shù)據(jù)庫發(fā)送SQL語句并返回它所生成結(jié)果的對象,創(chuàng)建方法為:

Statementstmt=conn.createStatement();PrepareSatementstmt=conn.prepareStatement(sql);/*返回預編譯的Satement*/CallableStatementstmt=conn.prepareCall(sql);/*返回執(zhí)行存儲過程的Satement*/10.2.3JDBC常用接口及常用方法簡介3.Statement接口表10-2Statement對象的常用方法序號方法方法說明返回類型1execute(String

sql)運行任意sql語句(主要為DDL),返回值因sql不同而異boolean2executeQuery(String

sql)只能執(zhí)行select語句,返回ResultSet結(jié)果集ResultSet3executeUpdate(String

sql)只能執(zhí)行insert/update/delete操作,返回更新的行數(shù)int4addBatch(String

sql)把多條sql語句放到一個批處理中5executeBatch()向數(shù)據(jù)庫發(fā)送一批sql語句執(zhí)行10.2.3JDBC常用接口及常用方法簡介4.ResultSet接口ResultSet對象用于執(zhí)行Select語句的結(jié)果集。它采用表格的方式,可以通過列索引或列名獲得數(shù)據(jù),并通過5種方法來移動結(jié)果集中的記錄指針。ResultSet根據(jù)查詢不同類型字段,提供不同的方法獲得數(shù)據(jù)。10.2.3JDBC常用接口及常用方法簡介表10-3ResultSet對象的常用方法序號方法方法說明1beforeFirst()移動到ResultSet的最前面2Previous()往前移一行,若成功,返回true3next()往后移一行,若成功,返回true4afterLast()移動到ResultSet的最后面5absolute(introw)移動到指定行6getString(x)獲得指定索引列或列名x的值,其中該列的類型為字符型7getFloat(x)獲得指定索引列或列名x的值,其中該列的類型為數(shù)值型8getDate(x)獲得指定索引列或列名x的值,其中該列的類型為日期型9getBoolean(x)獲得指定索引列或列名x的值,其中該列的類型為布爾型10getObject(x)獲得指定索引列或列名x的值,其中該列的類型為任何類型10.2.4JDBC編程步驟分六步:

(1)加載數(shù)據(jù)庫驅(qū)動(有的版本可以省略)。

(2)通過DriveManager建立數(shù)據(jù)庫連接,返回Connection對象。

(3)通過Connection對象創(chuàng)建Statement對象。

(4)Statement對象的方法:execute()、executeQuery()、executeUpdate()執(zhí)行SQL語句。

(5)如果第4步執(zhí)行的是查詢語句,則對結(jié)果集ResultSet進行操作。

(6)結(jié)束時,回收數(shù)據(jù)庫資源,包括關閉ResultSet、Statement和Connection等資源。10.2.4JDBC編程步驟(1)進入EclipseIDE,點擊:FileNewJavaProject,新建一個JavaProject(Java項目),命名為java_sqlserver。如圖所示。在EclipseIDE中,Java如果要操作SQLServer數(shù)據(jù)庫,必須要將對應的驅(qū)動程序文件,例如mssql-jdbc-9.2.1.jre11添加到EclipseIDE的環(huán)境中。步驟如下:10.2.4JDBC編程步驟(2)將數(shù)據(jù)庫驅(qū)動程序文件附加到項目中,如圖所示。10.2.4JDBC編程步驟例10-2在新建的JavaProject中,新建一個含voidmain()方法的Class,根據(jù)學生信息表:S(sNo,sName,sex,dtBirthDate)在SQLServer中查詢并顯示學生信息。123456importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;例10-2在新建的JavaProject項目中,在SQLServer中查詢并顯示學生信息78910111213141516171819202122232425publicclassMyMain{publicstaticvoidmain(String[]args){StringconnectionUrl="jdbc:sqlserver://localhost:1433;" +"databaseName=student;user=sa;password=Sa123456";//連接字符串try{ Connectionconn=DriverManager.getConnection(connectionUrl);//建立連接 Statementstmt=conn.createStatement();//建立Statement對象StringSQL="selectsNo,sName,sexfroms";ResultSetrs=stmt.executeQuery(SQL);//執(zhí)行SQL語句查詢while(rs.next()){//ResultSet訪問System.out.println(rs.getString("sNo")+""+rs.getString("sName"));//輸出 }rs.close();//關閉ResultSet對象stmt.close();//關閉Statement對象conn.close();//關閉Connection對象}catch(SQLExceptione){//捕獲意外錯誤 e.printStackTrace();//輸出錯誤信息}}}例10-2在新建的JavaProject項目中,在SQLServer中查詢并顯示學生信息10.2.5JavaProject與SQLServer編程案例下面以Java與SQLServer為例,開發(fā)一個JavaProject(Java項目),其中采用Swing開發(fā)Java圖形界面。Swing是一種輕量級組件,它采用MVC(Model-View-Controller,即模型-視圖-控制器)設計模式,其中模型用于維護組件的

溫馨提示

  • 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

提交評論