版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
10.2JDBC技術(shù)基礎(chǔ)本章主要內(nèi)容:(1)Java、Eclipse的下載安裝,JDBCforSQLServer驅(qū)動下載(2)EclipseIDE中構(gòu)建JDBC數(shù)據(jù)庫驅(qū)動程序(4)Connection對象及常用方法(5)Statement對象及常用方法(6)ResultSet對象及常用方法(3)JDBC技術(shù)基礎(chǔ)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連接到關(guān)系數(shù)據(jù)庫,并使用SQL語句,來完成對數(shù)據(jù)庫的查詢、更新。后臺的數(shù)據(jù)庫安裝好之后,前臺的Java程序是不能直接訪問數(shù)據(jù)庫的,必須要通過相應(yīng)的數(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ù),具體以對應(yīng)版本為準(zhǔn)。例如:(1)連接MySql數(shù)據(jù)庫(默認(rèn)端口號3306):Connectionconn=
DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");
(2)連接Oracle數(shù)據(jù)庫(默認(rèn)端口號1521):Connectionconn=
DriverManager.getConnection("jdbc:oracle:thin:@host:port:db","user","password");
(3)連接SQLServer數(shù)據(jù)庫(默認(rèn)端口號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ā)送預(yù)編譯SQL的PrepareSatement對象3prepareCall(sql)創(chuàng)建執(zhí)行存儲過程的CallableStatement對象4setAutoCommit(boolean
autoCommit)設(shè)置事務(wù)是否自動提交5commit()提交事務(wù)6rollback()回滾事務(wù)10.2.3JDBC常用接口及常用方法簡介3.Statement接口Statement對象用于向數(shù)據(jù)庫發(fā)送SQL語句并返回它所生成結(jié)果的對象,創(chuàng)建方法為:
Statementstmt=conn.createStatement();PrepareSatementstmt=conn.prepareStatement(sql);/*返回預(yù)編譯的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ù)庫資源,包括關(guān)閉ResultSet、Statement和Connection等資源。10.2.4JDBC編程步驟(1)進入EclipseIDE,點擊:FileNewJavaProject,新建一個JavaProject(Java項目),命名為java_sqlserver。如圖所示。在EclipseIDE中,Java如果要操作SQLServer數(shù)據(jù)庫,必須要將對應(yīng)的驅(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ù)學(xué)生信息表:S(sNo,sName,sex,dtBirthDate)在SQLServer中查詢并顯示學(xué)生信息。123456importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;例10-2在新建的JavaProject項目中,在SQLServer中查詢并顯示學(xué)生信息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();//關(guān)閉ResultSet對象stmt.close();//關(guān)閉Statement對象conn.close();//關(guān)閉Connection對象}catch(SQLExceptione){//捕獲意外錯誤 e.printStackTrace();//輸出錯誤信息}}}例10-2在新建的JavaProject項目中,在SQLServer中查詢并顯示學(xué)生信息10.2.5JavaProject與SQLServer編程案例下面以Java與SQLServer為例,開發(fā)一個JavaProject(Java項目),其中采用Swing開發(fā)Java圖形界面。Swing是一種輕量級組件,它采用MVC(Model-View-Controller,即模型-視圖-控制器)設(shè)計模式,其中模型用于維護組件的
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版果林租賃與農(nóng)村金融服務(wù)合作合同范本3篇
- 2025年度環(huán)保產(chǎn)業(yè)融資服務(wù)合同范本(含排放)3篇
- 二零二五年度房地產(chǎn)廣告發(fā)布合同:廣告投放合作協(xié)議3篇
- 2025版西瓜品牌授權(quán)及品牌管理合同3篇
- 二零二五年度戶口遷移安置補償協(xié)議3篇
- 二零二五年度文化旅游景區(qū)開店合作合同3篇
- 二零二五年度國際房產(chǎn)二手房買賣合同范本2篇
- 2025年度社區(qū)便利店租賃合同模板(含加盟服務(wù)條款)3篇
- 二零二五年度新材料合伙人退伙技術(shù)合作與退伙協(xié)議3篇
- 二零二五年度建筑垃圾資源化利用項目招投標(biāo)合同3篇
- 高速動車組轉(zhuǎn)向架關(guān)鍵結(jié)構(gòu)設(shè)計及分析
- 2024年導(dǎo)游服務(wù)技能大賽《導(dǎo)游綜合知識測試》題庫及答案
- 高中化學(xué)實驗開展情況的調(diào)查問卷教師版
- 期末全真模擬測試卷2(試題)2024-2025學(xué)年二年級上冊數(shù)學(xué)蘇教版
- 反芻動物消化道排泄物蠕蟲蟲卵診斷技術(shù)規(guī)范
- 生物治療與再生醫(yī)療應(yīng)用
- 帕金森患者生活質(zhì)量問卷(PDQ-39)
- 挖掘機、裝載機崗位風(fēng)險告知卡
- JGJT280-2012 中小學(xué)校體育設(shè)施技術(shù)規(guī)程
- 基于MATLAB光伏儲能并網(wǎng)的直流微電網(wǎng)系統(tǒng)的研究與設(shè)計
- 藥店突發(fā)事件與應(yīng)急處理
評論
0/150
提交評論