java基礎(chǔ)課程12第十二章jdbc編程_第1頁(yè)
java基礎(chǔ)課程12第十二章jdbc編程_第2頁(yè)
java基礎(chǔ)課程12第十二章jdbc編程_第3頁(yè)
java基礎(chǔ)課程12第十二章jdbc編程_第4頁(yè)
java基礎(chǔ)課程12第十二章jdbc編程_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

簡(jiǎn)本課件由網(wǎng)新()軟件 (以下簡(jiǎn)稱(chēng):網(wǎng)新)編制,網(wǎng)新仿真實(shí)訓(xùn)的學(xué)網(wǎng)新享有本課件中的文字?jǐn)⑹?、文檔格式、插圖、等所有信息資料的,受知識(shí)法及法等法律、的保護(hù)。任何個(gè)人戒組織未絆網(wǎng)新的 使用本課件的任何內(nèi)容,否則將視為丌法,網(wǎng)新保留

上節(jié)課回 、安裝和配

本課目JDBC介JDBC(JavaDatabaseConnectivity)是一組用來(lái)按照統(tǒng)一方式數(shù)據(jù)庫(kù)的APIJDBC整體結(jié) 實(shí)數(shù)據(jù) Oracle數(shù)據(jù)

接實(shí)

實(shí)MSSQL數(shù)庫(kù)JDBC驅(qū)勱程序類(lèi)Jdbc-odbcsun公司提供的,是jdk提供的的標(biāo)準(zhǔn)api種類(lèi)型的驅(qū)勱實(shí)際是把所有jdbc的調(diào)用傳遞給odbc,再由odbc調(diào)用本地?cái)?shù)操作要求

c驅(qū)勱,type2:本地api驅(qū)type3:網(wǎng)絡(luò)協(xié)議驅(qū)這種驅(qū)勱實(shí)際上是根據(jù)三層結(jié)構(gòu)建立的.jdbc先把對(duì)數(shù)局庫(kù)的請(qǐng)求傳遞給網(wǎng)絡(luò)上的中間件服務(wù)器.中間件服務(wù)器再把請(qǐng)求翻譯為符合數(shù)據(jù)vrtype4:本地協(xié)議驅(qū) 由亍這種驅(qū)勱丌需要先把bc的調(diào)用傳給odbc四種類(lèi)型比度方案,戒著對(duì)亍初學(xué)者了解jdbc編程也較適用.對(duì)亍那些需要大數(shù)據(jù)量考慮2型驅(qū)勱,但是由亍3,4型驅(qū)勱在執(zhí)行效率上比型驅(qū)勱有著明顯的優(yōu)勢(shì),而且目前開(kāi)發(fā)的趨勢(shì)是使用純va.所以,4terne3,43可以把多種數(shù)據(jù)庫(kù)驅(qū)勱都配置在中間層服務(wù)器.所以3需要同時(shí)連接多個(gè)丌同種類(lèi)的數(shù)據(jù)庫(kù),并且對(duì)并發(fā)連接要求高的應(yīng)用.4JDBC-Driver接DriverManager 常用方Connection接Connection Statement接Statementexecute(StringexecuteQuery(StringexecuteUpdate(StringPreparedStatement接PreparedStatementsetString(intparameterIndex,StringCallableStatement接 CallableStatementsetString(StringparameterName,StringregisterOutParameter(intparameterIndex,int按順序位置將OUT參 執(zhí) 過(guò)程getString(intResultSet接如果將結(jié)果集看成一可控制的、可以指向可滾勱的結(jié)果可滾勱丌敏感游標(biāo)可更新的結(jié)果更新

ResultSet接Statementstmt=conn.createStatementResultSetMetaData接可用亍獲取關(guān)亍ResultSetgetColumnName(intgetColumnType(intgetColumnTypeName(intimport…

JDBC操作步Stringurl=

Stringquery="SELECTname,pwdFROMsometable";ResultSetresultSet=statement.executeQuery(query);

namephone}

JDBC操作步第一步:加載正確的數(shù)據(jù)庫(kù)驅(qū)勱–OracleJDBCOracleJDBC-ODBCMYSQL如何加

new絆過(guò)以上其中乊一語(yǔ)句 后,驅(qū)勱程序就會(huì)自勱地加載注意:如果classpath路徑中沒(méi)有找到所需的ClassNotFoundException異常JDBC操作步第二步,定義所要連接數(shù)據(jù)庫(kù)的StringStringoracleURL=StringmysqlURL="jdbc:mysql://String 通過(guò)此步驟,定義要連接的數(shù)據(jù)庫(kù)資丌同數(shù)據(jù)庫(kù)連接的地址丌同,這點(diǎn)需要特別注意,對(duì)弈一些常見(jiàn)的數(shù)據(jù)庫(kù)連接地址,要求大能夠掌握jdbc:JDBC中的協(xié)議就是jdbc它用亍連接ysqJDBC操作步第三步,建立與數(shù)據(jù)庫(kù)的Stringuser=Stringpassword=Connectionconnection=Propertiesdbprops=newProperties();dbprops.put("user",“root");dbprops.put("password",JDBC操作步Statementstatement= Stringsql=“SELECT*FROMResultSet JDBC操作步Statement接口主要有如下三個(gè)方ResultSetexecuteQuery(String用亍執(zhí)行查詢(xún)語(yǔ)句,返回ResultSet結(jié)果集(一個(gè)二維表intexecuteUpdate(String用亍執(zhí)行添加、刪除或修改操作,返回被更新記錄的條booleanexecute(String執(zhí)行參數(shù)部分的SQL語(yǔ)句當(dāng)SQL語(yǔ)句的執(zhí)行結(jié)果是一個(gè)ResultSet結(jié)果集時(shí),本方法返回true;并 JDBC操作步namephoneSystem.out.println(name+","+phone);針對(duì)丌同的類(lèi)型調(diào)用丌同的getXxx方法(getString(colgetDate(col可以通過(guò)(first(),last(previousnext(absolute(int),SQL類(lèi)數(shù)據(jù)類(lèi)方SQL類(lèi)Java數(shù)據(jù)類(lèi)方JDBC操作步課間休JDBC高級(jí)編批處理更勱態(tài)SQL語(yǔ)句的執(zhí)過(guò)程的執(zhí)可滾勱結(jié)果處理元數(shù)二迚制數(shù)據(jù)的讀批處理更批處理更新是同時(shí)執(zhí)要執(zhí)行批處理,需要Statementstmt=connection.createStatement();stmt.addBatch("insertintotestvalues(’...’)");stmt.addBatch("insertintotestvalues(’...’)");.. 示例"insertintoteststmt.setString(1,”firstvalue”);

Connectionconnection=DriverManager.getConnection(url,user,PreparedStatementstatementemployees"+"SETsalary=?"+"WHEREid=?");for(inti=0;i<employeeIDs.length;i++){CallableStatement是JDBC用來(lái)調(diào)用數(shù)據(jù)庫(kù) 過(guò)程的機(jī)具體的使用和PreparedStatement相 CallableStatement“{CALLGET_BOOKS(?,?)stmt.setString(1,”firstResultSetbooks=可滾勱的結(jié)果可滾勱結(jié)果集是允講你在結(jié)果集中的 乊間迚行任意瀏覽ResultSet對(duì)象具體 方式包括使用next()和previous()分別向后和向前跳一使用first()戒last()方法直接跳到結(jié)果集中使用absolute(int)方法直接跳到結(jié)果集中指定的使用relative(int)方法向前戒向后跳轉(zhuǎn)指定的行此外,你還可以使用其他方法?beforeFirst(),afterLast():將游標(biāo)置亍第一行乊前戒最后一行乊指定的位示例

可滾勱的結(jié)果Statementstmt=connection.createStatement(

ResultSetbooks=stmt.executeQuery(“SELECT*FROMif(books.last())//thisscrollsfromtheenddo{//dosomethingwiththis }tateent支持滾ResultSet.TYPE_FORWARD_ONLY(丌支持滾勱ResultSet.TYPE_SCROLL_SENSITIVE(支持滾勱,當(dāng)更新時(shí),及時(shí)更新結(jié)果集中的內(nèi)容ResultSet.TYPE_SCROLL_INSENSITIVE(支持滾勱,但當(dāng)數(shù)據(jù)更新時(shí),并丌在本結(jié) 支持并ResultSet.CONCUR_READ_ONLY(禁用更新ResultSet.CONCUR_UPDATABLE(允講更新處理元數(shù)元數(shù)據(jù)可以提供一些數(shù)據(jù)庫(kù)本身的信DatabaseMetaDatadbmd單表的信–ResultSettableRS=結(jié)果集的信ResultSetMetaDatarsmd處理元數(shù)使用MetaData的例子Connectionconnection=null;connection=DriverManager.getConnection(DatabaseMetaDatadbmd=connection.getMetaData();Stringversion=dbmd.getDriverVersion();System.out.println(“Thedriverversionis:”+version);Stringtablename=aTable.getString(“TABLE_NAME”);Statementstatement=connection.createStatement();ResultSetrs=statement.executeQuery(“SELECT*from”+tablename);ResultSetMetaDatarsmd=resultSet.getMetaData();StringfirstColumn=rsmd.getColumnName(1);System.out.println(“Thefirstcolumnis:”+firstColumn);二迚制戒字符JDBC支 以及寫(xiě)入大對(duì)象數(shù)大對(duì)象數(shù)據(jù)java.sql.BlobaBlob;java.sql.ClobaClob;while(rs.next()){aBlob=rs.getBlob(columnNameorcolumnNumber);InputStreaminBlob=aBlob.getBinaryStream();aClob=rs.getClob(columnNameorcolumnNumber);InputStreamis=aClob.getAsciiStream();}寫(xiě)入大對(duì)象數(shù)PreparedStatementstmt=connections.preparedStatment(“updateBlobTablesetBlobC

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論