![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)_第1頁(yè)](http://file4.renrendoc.com/view/8c8fc07976dae0034afe62bbb09c7289/8c8fc07976dae0034afe62bbb09c72891.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)_第2頁(yè)](http://file4.renrendoc.com/view/8c8fc07976dae0034afe62bbb09c7289/8c8fc07976dae0034afe62bbb09c72892.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)_第3頁(yè)](http://file4.renrendoc.com/view/8c8fc07976dae0034afe62bbb09c7289/8c8fc07976dae0034afe62bbb09c72893.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)_第4頁(yè)](http://file4.renrendoc.com/view/8c8fc07976dae0034afe62bbb09c7289/8c8fc07976dae0034afe62bbb09c72894.gif)
![數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)_第5頁(yè)](http://file4.renrendoc.com/view/8c8fc07976dae0034afe62bbb09c7289/8c8fc07976dae0034afe62bbb09c72895.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本講大綱:1、JDBC簡(jiǎn)介3、連接數(shù)據(jù)庫(kù)2、JDBCAPI4、JDBC操作數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)JDBC簡(jiǎn)介
JDBC是Java程序與數(shù)據(jù)庫(kù)系統(tǒng)通信的標(biāo)準(zhǔn)API,它定義在JDK的API中,通過(guò)JDBC技術(shù)Java程序可以非常方便的與各種數(shù)據(jù)庫(kù)交互,JDBC在Java程序與數(shù)據(jù)庫(kù)系統(tǒng)之間建立了一座橋梁。JDBC技術(shù)介紹JDBC驅(qū)動(dòng)程序JDBC是Java操作數(shù)據(jù)庫(kù)的規(guī)范,由一組用Java語(yǔ)言編寫(xiě)的類和接口組成,它對(duì)數(shù)據(jù)庫(kù)的操作提供基本方法,但對(duì)于數(shù)據(jù)庫(kù)的細(xì)節(jié)操作由數(shù)據(jù)庫(kù)廠商進(jìn)行實(shí)現(xiàn),使用JDBC操作數(shù)據(jù)庫(kù),需要數(shù)據(jù)庫(kù)廠商提供數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序,關(guān)于Java程序與數(shù)據(jù)庫(kù)相交互的示意圖如下圖所示。JDBC技術(shù)介紹JDBC驅(qū)動(dòng)程序是用于解決應(yīng)用程序與數(shù)據(jù)庫(kù)通信問(wèn)題的,它基本上分為JDBC-ODBCBridge、JDBC-NativeAPIBridge、JDBC-middleware和PureJDBCDriver4種類型,下面分別進(jìn)行介紹。 1.JDBC-ODBCBridge 2.JDBC-NativeAPIBridge 3.JDBC-middleware 4.PureJDBCDriverJDBC驅(qū)動(dòng)程序
JDBC是Java程序操作數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn),它由一組用Java語(yǔ)言編寫(xiě)的類和接口組成,Java通過(guò)JDBC可以對(duì)多種關(guān)系數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一訪問(wèn),所以,學(xué)習(xí)JDBC需要掌握J(rèn)DBC中的類和接口,也就是JDBCAPI。Driver接口Connection接口DriverManager類Statement接口PreparedStatement接口CallableStatement接口ResultSet接口JDBCAPI每種數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序都應(yīng)該提供一個(gè)實(shí)現(xiàn)java.sql.Driver接口的類,簡(jiǎn)稱Driver類,在加載Driver類時(shí),應(yīng)該創(chuàng)建自己的實(shí)例并向java.sql.DriverManager類注冊(cè)該實(shí)例。Driver接口Connection接口方法名稱功能描述voidclose()throwsSQLException立即釋放此
Connection對(duì)象的數(shù)據(jù)庫(kù)連接占用的
JDBC資源,在操作數(shù)據(jù)庫(kù)后,應(yīng)立即調(diào)用此方法voidcommit()throwsSQLException提交事務(wù),并釋放此
Connection對(duì)象當(dāng)前持有的所有數(shù)據(jù)庫(kù)鎖。當(dāng)事務(wù)被設(shè)置為手動(dòng)提交模式時(shí),需要調(diào)用此方法提交事務(wù)StatementcreateStatement()throwsSQLException創(chuàng)建一個(gè)
Statement對(duì)象來(lái)將
SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù),此方法返回Statement對(duì)象booleangetAutoCommit()throwsSQLException用于判斷Connection對(duì)象是否被設(shè)置為自動(dòng)提交模式,此方法返回boolean值DatabaseMetaDatagetMetaData()throwsSQLException獲取此
Connection對(duì)象所連接的數(shù)據(jù)庫(kù)的元數(shù)據(jù)DatabaseMetaData對(duì)象,元數(shù)據(jù)包括關(guān)于數(shù)據(jù)庫(kù)的表、受支持的
SQL語(yǔ)法、存儲(chǔ)過(guò)程、此連接功能等信息intgetTransactionIsolation()throwsSQLException獲取此
Connection對(duì)象的當(dāng)前事務(wù)隔離級(jí)別booleanisClosed()throwsSQLException判斷此Connection對(duì)象是否與數(shù)據(jù)庫(kù)斷開(kāi)連接,此方法返回布爾值。注意如果Connection對(duì)象與數(shù)據(jù)庫(kù)斷開(kāi)連接,則不能通過(guò)再通此Connection對(duì)象操作數(shù)據(jù)庫(kù)booleanisReadOnly()throwsSQLException判斷此Connection對(duì)象是否為只讀模式,此方法返回boolean值PreparedStatementprepareStatement(Stringsql)throwsSQLException將參數(shù)化的
SQL語(yǔ)句預(yù)編譯并存儲(chǔ)在
PreparedStatement對(duì)象中,并返回所創(chuàng)建的這個(gè)
PreparedStatement對(duì)象voidreleaseSavepoint(Savepointsavepoint)throwsSQLException從當(dāng)前事務(wù)中移除指定的
Savepoint和后續(xù)
Savepoint對(duì)象voidrollback()throwsSQLException回滾事務(wù),并釋放此
Connection對(duì)象當(dāng)前持有的所有數(shù)據(jù)庫(kù)鎖。注意此方法需要應(yīng)用于Connection對(duì)象的手動(dòng)提交模式中voidrollback(Savepointsavepoint)throwsSQLException回滾事務(wù),針對(duì)Savepoint對(duì)象之后的更改voidsetAutoCommit(booleanautoCommit)throwsSQLException設(shè)置Connection對(duì)象的提交模式,如果參數(shù)autoCommit的值設(shè)置為true,Connection對(duì)象則為自動(dòng)提交模式,如果參數(shù)autoCommit的值設(shè)置為false,Connection對(duì)象則為手動(dòng)提交模式voidsetReadOnly(booleanreadOnly)throwsSQLException將Connection對(duì)象的連接模式設(shè)置為只讀,此方法用于對(duì)數(shù)據(jù)庫(kù)的優(yōu)化SavepointsetSavepoint()throwsSQLException在當(dāng)前事務(wù)中創(chuàng)建一個(gè)未命名的保留點(diǎn),并返回這個(gè)保留點(diǎn)對(duì)象SavepointsetSavepoint(Stringname)throwsSQLException在當(dāng)前事務(wù)中創(chuàng)建一個(gè)指定名稱的保留點(diǎn),并返回這個(gè)保留點(diǎn)對(duì)象DriverManager類方法聲明說(shuō)明publicstaticvoidderegisterDriver(Driverdriver)throwsSQLException從DriverManager的管理列表中刪除一個(gè)驅(qū)動(dòng)程序。參數(shù)driver為要?jiǎng)h除的驅(qū)動(dòng)對(duì)象publicstaticConnectiongetConnection(Stringurl)throwsSQLException根據(jù)指定數(shù)據(jù)庫(kù)連接URL,建立與數(shù)據(jù)庫(kù)連接Connection。參數(shù)url為數(shù)據(jù)庫(kù)連接URLpublicstaticConnectiongetConnection(Stringurl,Propertiesinfo)throwsSQLException根據(jù)指定數(shù)據(jù)庫(kù)連接URL,及數(shù)據(jù)庫(kù)連接屬性信息建立數(shù)據(jù)庫(kù)連接Connection。參數(shù)url為數(shù)據(jù)庫(kù)連接URL,參數(shù)inof為數(shù)據(jù)庫(kù)連接屬性publicstaticConnectiongetConnection(Stringurl,Stringuser,Stringpassword)throwsSQLException根據(jù)指定數(shù)據(jù)庫(kù)連接URL、用戶名及密碼建立數(shù)據(jù)庫(kù)連接Connection。參數(shù)url為數(shù)據(jù)庫(kù)連接URL,參數(shù)user為連接數(shù)據(jù)庫(kù)的用戶名,參數(shù)password連接數(shù)據(jù)庫(kù)的密碼publicstaticEnumeration<Driver>getDrivers()獲取當(dāng)前DriverManager中已加載的所有驅(qū)動(dòng)程序,它的返回值為EnumerationpublicstaticvoidregisterDriver(Driverdriver)throwsSQLException向DriverManager注冊(cè)一個(gè)驅(qū)動(dòng)對(duì)象,參數(shù)driver為要注冊(cè)的驅(qū)動(dòng)Statement接口方法聲明說(shuō)明voidaddBatch(Stringsql)throwsSQLException將SQL語(yǔ)句添加到此Statement對(duì)象的當(dāng)前命令列表中,此方法用于SQL命令的批處理voidclearBatch()throwsSQLException清空Statement對(duì)象中的命令列表voidclose()throwsSQLException立即釋放此Statement對(duì)象的數(shù)據(jù)庫(kù)和
JDBC資源,而不是等待該對(duì)象自動(dòng)關(guān)閉時(shí)發(fā)生此操作booleanexecute(Stringsql)throwsSQLException執(zhí)行指定的SQL語(yǔ)句。如果sql語(yǔ)句返回結(jié)果,此方法返回true,否則返回falseint[]executeBatch()throwsSQLException執(zhí)行Batch中的所有SQL語(yǔ)句,如果全部執(zhí)行成功,則返回由更新計(jì)數(shù)組成的數(shù)組,數(shù)組元素的排序與SQL語(yǔ)句的添加順序?qū)?yīng)。數(shù)組元素有以下幾種情況:①大于或等于零的數(shù):說(shuō)明SQL語(yǔ)句執(zhí)行成功,為影響數(shù)據(jù)庫(kù)中行數(shù)的更新計(jì)數(shù);②-2:說(shuō)明SQL語(yǔ)句執(zhí)行成功,但未得到受影響的行數(shù)③-3:說(shuō)明SQL語(yǔ)句執(zhí)行失敗,僅當(dāng)執(zhí)行失敗后繼續(xù)執(zhí)行后面的SQL語(yǔ)句時(shí)出現(xiàn)。如果驅(qū)動(dòng)程序不支持批量、或者未能成功執(zhí)行Batch中的SQL語(yǔ)句之一,將拋出異常ResultSetexecuteQuery(Stringsql)throwsSQLException執(zhí)行查詢類型(select)的SQL語(yǔ)句,此方法返回查詢所獲取的結(jié)果集ResultSet對(duì)象executeUpdateintexecuteUpdate(Stringsql)throwsSQLException執(zhí)行SQL語(yǔ)句中DML類型(insert、update、delete)的SQL語(yǔ)句,返回更新所影響的行數(shù)ConnectiongetConnection()throwsSQLException獲取生成此Statement對(duì)象的Connection對(duì)象booleanisClosed()throwsSQLException判斷Statement對(duì)象是否已被關(guān)閉,如果Statement對(duì)象被關(guān)閉,則不能再調(diào)用此Statement對(duì)象執(zhí)行SQL語(yǔ)句,此方法返回布爾值PreparedStatement接口方法聲明說(shuō)明voidsetBinaryStream(intparameterIndex,InputStreamx)throwsSQLException將輸入流x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetBoolean(intparameterIndex,booleanx)throwsSQLException將布爾值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetByte(intparameterIndex,bytex)hrowsSQLException將byte值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetDate(intparameterIndex,Datex)hrowsSQLException將java.sql.Date值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetDouble(intparameterIndex,doublex)hrowsSQLException將double值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetFloat(intparameterIndex,floatx)hrowsSQLException將float值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetInt(intparameterIndex,intx)throwsSQLException將int值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetInt(intparameterIndex,longx)throwsSQLException將long值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetObject(intparameterIndex,Objectx)throwsSQLException將Object對(duì)象x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetShort(intparameterIndex,shortx)throwsSQLException將short值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetString(intparameterIndex,Stringx)throwsSQLException將String值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引voidsetTimestamp(intparameterIndex,Timestampx)throwsSQLException將java.sql.Timestamp值x作為SQL語(yǔ)句中的參數(shù)值,parameterIndex為參數(shù)位置的索引
java.sql.CallableStatement接口繼承于PreparedStatement接口,是PreparedStatement接口的擴(kuò)展,用來(lái)執(zhí)行SQL的存儲(chǔ)過(guò)程。CallableStatement接口ResultSet接口方法聲明說(shuō)明booleanabsolute(introw)throwsSQLException將光標(biāo)移動(dòng)到此ResultSet對(duì)象的給定行編號(hào),參數(shù)row為行編號(hào)voidafterLast()throwsSQLException將光標(biāo)移動(dòng)到此ResultSet對(duì)象的最后一行之后。如果結(jié)果集中不包含任何行,則此方法無(wú)效voidbeforeFirst()throwsSQLException立即釋放此ResultSet對(duì)象的數(shù)據(jù)庫(kù)和
JDBC資源voiddeleteRow()throwsSQLException從此ResultSet對(duì)象和底層數(shù)據(jù)庫(kù)中刪除當(dāng)前行booleanfirst()throwsSQLException將光標(biāo)移動(dòng)到此ResultSet對(duì)象的第一行InputStreamgetBinaryStream(StringcolumnLabel)throwsSQLException以byte流的方式獲取ResultSet對(duì)象當(dāng)前行中指定列的值,參數(shù)columnLabel為列名稱DategetDate(StringcolumnLabel)throwsSQLException以java.sql.Date的方式獲取ResultSet對(duì)象當(dāng)前行中指定列的值,參數(shù)columnLabel為列名稱doublegetDouble(StringcolumnLabel)throwsSQLException以double的方式獲取ResultSet對(duì)象當(dāng)前行中指定列的值,參數(shù)columnLabel為列名稱floatgetFloat(StringcolumnLabel)throwsSQLException以float的方式獲取ResultSet對(duì)象當(dāng)前行中指定列的值,參數(shù)columnLabel為列名稱intgetInt(StringcolumnLabel)throwsSQLException以int的方式獲取ResultSet對(duì)象當(dāng)前行中指定列的值,參數(shù)columnLabel為列名稱StringgetString(StringcolumnLabel)throwsSQLException以String的方式獲取ResultSet對(duì)象當(dāng)前行中指定列的值,參數(shù)columnLabel為列名稱booleanisClosed()throwsSQLException判斷當(dāng)前ResultSet對(duì)象是否已關(guān)閉booleanlast()throwsSQLException將光標(biāo)移動(dòng)到此ResultSet對(duì)象的最后一行booleannext()throwsSQLException將光標(biāo)位置向后移動(dòng)一行,如移動(dòng)的新行有效返回true,否則返回falsebooleanprevious()throwsSQLException將光標(biāo)位置向前移動(dòng)一行,如移動(dòng)的新行有效返回true,否則返回false在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),首先需要連接數(shù)據(jù)庫(kù),在JSP中連接數(shù)據(jù)庫(kù)大致可以分為加載JDBC驅(qū)動(dòng)程序、創(chuàng)建Connection對(duì)象的實(shí)例、執(zhí)行SQL語(yǔ)句、獲得查詢結(jié)果和關(guān)閉連接等5個(gè)步驟,下面分別進(jìn)行介紹。加載JDBC驅(qū)動(dòng)程序創(chuàng)建數(shù)據(jù)庫(kù)連接執(zhí)行SQL語(yǔ)句獲得查詢結(jié)果關(guān)閉連接連接數(shù)據(jù)庫(kù)在連接數(shù)據(jù)庫(kù)之前,首先要加載要連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)到JVM(Java虛擬機(jī)),通過(guò)java.lang.Class類的靜態(tài)方法forName(StringclassName)實(shí)現(xiàn),例如,加載MySQL驅(qū)動(dòng)程序的代碼如下:
try{ Class.forName("com.mysql.jdbc.Driver"); }catch(ClassNotFoundExceptione){ System.out.println("加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)時(shí)拋出異常,內(nèi)容如下:"); e.printStackTrace(); }加載JDBC驅(qū)動(dòng)程序通過(guò)DriverManager類的靜態(tài)方法getConnection(Stringurl,Stringuser,Stringpassword)可以建立數(shù)據(jù)庫(kù)連接,三個(gè)入口參數(shù)依次為要連接數(shù)據(jù)庫(kù)的路徑、用戶名和密碼,該方法的返回值類型為java.sql.Connection,典型代碼如下:Connectionconn=DriverManager.getConnection( "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_database09","root","root");創(chuàng)建數(shù)據(jù)庫(kù)連接通過(guò)Connection實(shí)例并不能執(zhí)行SQL語(yǔ)句,還需要通過(guò)Connection實(shí)例創(chuàng)建Statement實(shí)例,Statement實(shí)例又分為以下3種類型。Statement實(shí)例:該類型的實(shí)例只能用來(lái)執(zhí)行靜態(tài)的SQL語(yǔ)句;PreparedStatement實(shí)例:該類型的實(shí)例增加了執(zhí)行動(dòng)態(tài)SQL語(yǔ)句的功能;CallableStatement對(duì)象:該類型的實(shí)例增加了執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的功能。執(zhí)行SQL語(yǔ)句在開(kāi)發(fā)Web應(yīng)用程序時(shí),經(jīng)常需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,最常用的數(shù)據(jù)庫(kù)操作技術(shù),包括向數(shù)據(jù)庫(kù)查詢、添加、修改或刪除數(shù)據(jù)庫(kù)中的數(shù)據(jù),這些操作即可以通過(guò)靜態(tài)的SQL語(yǔ)句實(shí)現(xiàn),也可以通過(guò)動(dòng)態(tài)的SQL語(yǔ)句實(shí)現(xiàn),還可以通過(guò)存儲(chǔ)過(guò)程實(shí)現(xiàn),具體采用的實(shí)現(xiàn)方式要根據(jù)實(shí)際情況而定。添加數(shù)據(jù)查詢數(shù)據(jù)修改數(shù)據(jù)刪除數(shù)據(jù)批處理調(diào)用存儲(chǔ)過(guò)程JDBC操作數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)添加操作使用的SQL語(yǔ)句為INSERT語(yǔ)句,其語(yǔ)法格式如下:Insert[INTO]table_name[(column_list)]values(data_values)添加數(shù)據(jù)參數(shù)描述[INTO]可選項(xiàng),無(wú)特殊含義,可以將它用在INSERT和目標(biāo)表之前table_name要添加記錄的數(shù)據(jù)表名稱column_list是表中的字段列表,表示向表中哪些字段插入數(shù)據(jù)。如果是多個(gè)字段,字段之間用逗號(hào)分隔。不指定column_list,默認(rèn)向數(shù)據(jù)表中所有字段插入數(shù)據(jù)data_values要添加的數(shù)據(jù)列表,各個(gè)數(shù)據(jù)之間使用逗號(hào)分隔。數(shù)據(jù)列表中的個(gè)數(shù)、數(shù)據(jù)類型必須和字段列表中的字段個(gè)數(shù)、數(shù)據(jù)類型相一致values引入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 分時(shí)度假合同范本
- da代收暖氣合同范本
- ppp項(xiàng)目可行性研究報(bào)告
- 書(shū)店勞動(dòng)合同范本
- 三分鐘發(fā)動(dòng)機(jī)清洗劑行業(yè)深度研究報(bào)告
- 鋼管椅項(xiàng)目投資分析報(bào)告(建設(shè)投資分析評(píng)價(jià)范本)
- 中國(guó)國(guó)內(nèi)旅游合同范本
- 停船合同范例
- 倉(cāng)庫(kù)外包簡(jiǎn)易合同范本
- 單采購(gòu)合同范例
- 評(píng)標(biāo)專家培訓(xùn)
- 道教建廟申請(qǐng)書(shū)
- 泰山英文簡(jiǎn)介
- 公司組織知識(shí)清單范例
- 2023年部編高中語(yǔ)文選擇性必修上之海明威的冰山理論和電報(bào)體風(fēng)格
- WTE朗文英語(yǔ) 1B 單詞卡片
- 2023年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人上岸筆試歷年難、易錯(cuò)點(diǎn)考題附帶參考答案與詳解
- 譯林版四年級(jí)下冊(cè)第一單元課件
- 標(biāo)志設(shè)計(jì) 課件
- 金屬常見(jiàn)的腐蝕形態(tài)及防護(hù)措施-課件
- (完整版)客戶拜訪方案
評(píng)論
0/150
提交評(píng)論