第07章JDBC數(shù)據(jù)庫訪問_第1頁
第07章JDBC數(shù)據(jù)庫訪問_第2頁
第07章JDBC數(shù)據(jù)庫訪問_第3頁
第07章JDBC數(shù)據(jù)庫訪問_第4頁
第07章JDBC數(shù)據(jù)庫訪問_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第07章JDBC數(shù)據(jù)庫訪問第一頁,共55頁。本章內(nèi)容7.1JDBC技術(shù)概述7.2傳統(tǒng)的數(shù)據(jù)庫連接方法7.3JDBCAPI介紹第二頁,共55頁。7.1JDBC技術(shù)概述JDBCJava程序訪問數(shù)據(jù)庫的標(biāo)準(zhǔn),由Java編寫的類和接口組成,稱為JDBCAPI,為Java程序提供通用的數(shù)據(jù)訪問接口。JDBC的基本功能:建立與數(shù)據(jù)庫的連接發(fā)送SQL語句處理數(shù)據(jù)庫操作結(jié)果第三頁,共55頁。7.1.1數(shù)據(jù)庫訪問的兩層和三層模型圖7-1表示兩層模型,也稱作為客戶機(jī)-數(shù)據(jù)庫服務(wù)器結(jié)構(gòu),即C/S結(jié)構(gòu)。Java應(yīng)用程序通過JDBCAPI直接和數(shù)據(jù)源交互。用戶的SQL命令被傳送給數(shù)據(jù)庫或其他數(shù)據(jù)源,SQL語句的執(zhí)行結(jié)果返回給用戶。第四頁,共55頁。7.1.1數(shù)據(jù)庫訪問的兩層和三層模型圖7-2表示三層模型,也稱作為客戶機(jī)-應(yīng)用服務(wù)器-數(shù)據(jù)庫服務(wù)器結(jié)構(gòu),即B/S結(jié)構(gòu)。客戶機(jī)通過Java小程序或?yàn)g覽器發(fā)出SQL請(qǐng)求,該請(qǐng)求首先傳送到應(yīng)用服務(wù)器。應(yīng)用服務(wù)器再通過JDBC與數(shù)據(jù)庫服務(wù)器進(jìn)行連接,由數(shù)據(jù)庫服務(wù)器處理SQL語句,然后將結(jié)果返回給應(yīng)用服務(wù)器。第五頁,共55頁。7.1.2JDBC驅(qū)動(dòng)程序Java應(yīng)用程序訪問數(shù)據(jù)庫如圖7-3所示。通過JDBC驅(qū)動(dòng)程序管理器加載相應(yīng)的驅(qū)動(dòng)程序,通過驅(qū)動(dòng)程序與具體的數(shù)據(jù)庫連接,訪問數(shù)據(jù)庫。第六頁,共55頁。7.1.2JDBC驅(qū)動(dòng)程序數(shù)據(jù)庫驅(qū)動(dòng)程序完成從JDBC請(qǐng)求到數(shù)據(jù)庫系統(tǒng)方法調(diào)用轉(zhuǎn)換工作的程序。在Java程序中,可以使用的數(shù)據(jù)庫驅(qū)動(dòng)程序主要有4種類型,常用的有下面兩種:JDBC-ODBC橋驅(qū)動(dòng)程序。專為某種數(shù)據(jù)庫而編寫的驅(qū)動(dòng)程序。第七頁,共55頁。1.

JDBC-ODBC橋驅(qū)動(dòng)程序ODBC(OpenDataBaseConnectivity)開放數(shù)據(jù)庫連接,是Windows系統(tǒng)與各種數(shù)據(jù)庫進(jìn)行通信的軟件。通過該橋驅(qū)動(dòng)程序與ODBC驅(qū)動(dòng)程序進(jìn)行通信,就可與各種數(shù)據(jù)庫系統(tǒng)進(jìn)行通信。但是,不推薦使用這種方法與數(shù)據(jù)庫連接,只適用于不能獲得數(shù)據(jù)庫專用的JDBC驅(qū)動(dòng)程序、或在開發(fā)階段使用這種方法。第八頁,共55頁。2.專為某種數(shù)據(jù)庫而編寫的驅(qū)動(dòng)程序由于ODBC具有一定的缺陷,數(shù)據(jù)庫廠商專門開發(fā)針對(duì)JDBC的驅(qū)動(dòng)程序,這類驅(qū)動(dòng)程序大多是用純Java語言編寫的,推薦使用數(shù)據(jù)庫廠商專門為JDBC開發(fā)的驅(qū)動(dòng)程序。使用專用驅(qū)動(dòng)程序連接數(shù)據(jù)庫,必須安裝驅(qū)動(dòng)程序。不同的數(shù)據(jù)庫系統(tǒng)提供了不同的JDBC驅(qū)動(dòng)程序,可以到相關(guān)網(wǎng)站下載。第九頁,共55頁。7.1.3安裝JDBC驅(qū)動(dòng)程序如果使用PostgreSQL數(shù)據(jù)庫,可以到/下載,下載后是一個(gè)打包文件(如postgresql-9.2-1000.jdbc4.jar)。在開發(fā)Web應(yīng)用程序中,需要將驅(qū)動(dòng)程序打包文件復(fù)制到Tomcat安裝目錄的lib目錄中、或Web應(yīng)用程序的WEB-INF\lib目錄中。第十頁,共55頁。7.2傳統(tǒng)的數(shù)據(jù)庫連接方法JDBCAPI在java.sql包和javax.sql包中定義,其中包括JDBCAPI用到的所有類和接口。主要的類和接口:

Driver接口DriverManager類Connection接口Statement接口PreparedStatement接口ResultSet接口CallableStatement接口SQLException類第十一頁,共55頁。7.2.1加載驅(qū)動(dòng)程序訪問數(shù)據(jù)庫,首先要加載驅(qū)動(dòng)程序。驅(qū)動(dòng)程序是實(shí)現(xiàn)Driver接口的類,一般由數(shù)據(jù)庫廠商提供。加載JDBC驅(qū)動(dòng)程序,使用Class類的forName()靜態(tài)方法:publicstaticClass<?>forName(StringclassName)throwsClassNotFoundException

參數(shù)className:完整的驅(qū)動(dòng)程序類的名稱。如果找不到驅(qū)動(dòng)程序?qū)伋鯟lassNotFoundException異常。返回一個(gè)Class類的對(duì)象。第十二頁,共55頁。對(duì)于不同的數(shù)據(jù)庫,驅(qū)動(dòng)程序的類名是不同的。如果使用JDBC-ODBC橋驅(qū)動(dòng)程序連接數(shù)據(jù)庫,則使用JDK自帶的驅(qū)動(dòng)程序,名稱為“sun.jdbc.odbc.JdbcOdbcDriver”。要加載該驅(qū)動(dòng)程序,可使用下面的語句:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");7.2.1加載驅(qū)動(dòng)程序第十三頁,共55頁。如果要加載數(shù)據(jù)庫廠商提供的專門的驅(qū)動(dòng)程序,應(yīng)該給出專門的驅(qū)動(dòng)程序名。要加載PostgreSQL數(shù)據(jù)庫驅(qū)動(dòng)程序:Class.forName(“org.postgresql.Driver”);PostgreSQL的驅(qū)動(dòng)程序類名為org.postgresql.Driver。7.2.1加載驅(qū)動(dòng)程序第十四頁,共55頁。7.2.2建立連接對(duì)象驅(qū)動(dòng)程序加載成功后,使用DriverManager類的getConnection()建立數(shù)據(jù)庫連接對(duì)象。DriverManager類維護(hù)一個(gè)注冊(cè)的Driver類的列表。調(diào)用DriverManager類的靜態(tài)方法getConnection():publicstaticConnectiongetConnection(Stringdburl)publicstaticConnectiongetConnection(Stringdburl,

Stringuser,Stringpassword)

第十五頁,共55頁。JDBCURLJDBCURL與一般的URL不同,用來標(biāo)識(shí)數(shù)據(jù)源,驅(qū)動(dòng)程序就可以與它建立一個(gè)連接。JDBCURL的標(biāo)準(zhǔn)語法,包括三個(gè)部分,中間用冒號(hào)分隔。jdbc:<subprotocol>:<subname>jdbc表示協(xié)議,JDBCURL的協(xié)議總是jdbc。subprotocol表示子協(xié)議。subname為子名稱,表示數(shù)據(jù)庫標(biāo)識(shí)符,該部分內(nèi)容隨數(shù)據(jù)庫驅(qū)動(dòng)程序的不同而不同。第十六頁,共55頁。如果通過JDBC-ODBC橋驅(qū)動(dòng)程序連接數(shù)據(jù)庫,URL的形式為:jdbc:odbc:DataSource三個(gè)部分組成一個(gè)整體字符串就是JDBCURL。Stringdburl=“jdbc:odbc:sampleDS";如果使用數(shù)據(jù)庫廠商提供的專門的驅(qū)動(dòng)程序連接數(shù)據(jù)庫。要連接PostgreSQL數(shù)據(jù)庫,JDBCURL為:jdbc:postgresql://localhost:5432/dbname其中:localhost表示主機(jī)名或IP地址,5432為數(shù)據(jù)庫服務(wù)器的端口號(hào),dbname為數(shù)據(jù)庫名。JDBCURL第十七頁,共55頁。下面代碼說明了如何以paipaistore用戶連接到PostgreSQL數(shù)據(jù)庫。數(shù)據(jù)庫名為paipaistore、用戶名為paipaistore、口令為paipaistore:JDBCURLStringdburl=“jdbc:postgresql://localhost:5432/paipaistore”;Connectionconn=DriverManager.getConnection(dburl,"paipaistore","paipaistore");第十八頁,共55頁。常用的數(shù)據(jù)庫JDBC連接代碼

第十九頁,共55頁。7.2.3創(chuàng)建語句對(duì)象通過Connection對(duì)象創(chuàng)建語句對(duì)象。對(duì)于不同的語句對(duì)象,可以使用Connection接口的不同方法創(chuàng)建。創(chuàng)建一個(gè)簡單的Statement對(duì)象,應(yīng)該使用createStatement(),創(chuàng)建PreparedStatement對(duì)象,應(yīng)該使用prepareStatement(),創(chuàng)建CallableStatement對(duì)象,應(yīng)該使用prepareCall()。下面的代碼將創(chuàng)建一個(gè)簡單的Statement對(duì)象。Statementstmt=conn.createStatement();第二十頁,共55頁。7.2.4獲得SQL語句的執(zhí)行結(jié)果執(zhí)行SQL語句使用Statement對(duì)象的方法。對(duì)于查詢語句,調(diào)用executeQuery(Stringsql)返回ResultSet。ResultSet對(duì)象保存查詢的結(jié)果集,再調(diào)用ResultSet的成員方法,可以對(duì)查詢結(jié)果的每行進(jìn)行處理。Stringsql="SELECT*FROMproducts";ResultSetrst=stmt.executeQuery(sql);while(rst.next()){out.print(rst.getString(1)+“\t”);}第二十一頁,共55頁。7.2.4獲得SQL語句的執(zhí)行結(jié)果對(duì)于DDL語句,如CREATE、ALTER、DROP對(duì)于DML語句,如INSERT、UPDATE、DELETE使用語句對(duì)象的成員方法:executeUpdate(Stringsql)該方法返回值為整數(shù),用來指示被影響的行數(shù)。第二十二頁,共55頁。7.2.5關(guān)閉建立的對(duì)象在Connection接口、Statement接口和ResultSet接口中都定義close(

)當(dāng)這些對(duì)象使用完畢后,應(yīng)使用close()關(guān)閉。第二十三頁,共55頁。7.3JDBCAPI介紹JDBCAPI是Java語言的標(biāo)準(zhǔn)API,目前的最新版本是JDBC4.0。在JDK7.0中,通過兩個(gè)包提供:java.sql包javax.sql包第二十四頁,共55頁。java.sql包提供基本的數(shù)據(jù)庫編程的類和接口,如驅(qū)動(dòng)程序管理類DriverManager、創(chuàng)建數(shù)據(jù)庫連接Connection接口、執(zhí)行SQL語句以及處理查詢結(jié)果的類和接口等。javax.sql包提供服務(wù)器端訪問和處理數(shù)據(jù)源的類和接口,如DataSource、RowSet、RowSetMetaData、PooledConnection接口等,實(shí)現(xiàn)數(shù)據(jù)源管理、行集管理以及連接池管理等。7.3JDBCAPI介紹第二十五頁,共55頁。7.3.1Connection接口獲取connection對(duì)象的方法:調(diào)用DriverManager類的靜態(tài)方法getConnection()數(shù)據(jù)源(DataSource)對(duì)象的getConnection()得到連接對(duì)象后,調(diào)用createStatement()創(chuàng)建SQL語句(Statement)對(duì)象,以及在連接對(duì)象上完成各種操作。第二十六頁,共55頁。publicStatementcreateStatement()創(chuàng)建一個(gè)Statement對(duì)象。如果用于查詢,調(diào)用executeQuery()返回的ResultSet是一個(gè)不可滾動(dòng)、不可更新的ResultSet。7.3.1Connection接口第二十七頁,共55頁。publicStatementcreateStatement(intresultType,intconcurrency)創(chuàng)建一個(gè)Statement對(duì)象。如果用于查詢,兩個(gè)參數(shù)決定executeQuery()返回的ResultSet是否是一個(gè)可滾動(dòng)、可更新的ResultSet。7.3.1Connection接口第二十八頁,共55頁。publicStatementcreateStatement(intresultType,intconcurrency,intholdability)創(chuàng)建一個(gè)Statement對(duì)象。如果用于查詢,那么前兩個(gè)參數(shù)決定executeQuery()返回的ResultSet是否是一個(gè)可滾動(dòng)、可更新的ResultSet,第三個(gè)參數(shù)決定可保持性(holdability)。7.3.1Connection接口第二十九頁,共55頁。7.3.2Statement接口一旦創(chuàng)建Statement對(duì)象,用于向數(shù)據(jù)庫發(fā)送SQL語句,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的查詢和更新操作等。執(zhí)行查詢操作語句執(zhí)行非查詢操作語句釋放statement第三十頁,共55頁。1.執(zhí)行查詢語句使用Statement接口的下列方法向數(shù)據(jù)庫發(fā)送SQL查詢語句。publicResultSetexecuteQuery(Stringsql)用來執(zhí)行SQL查詢語句。參數(shù)sql用字符串表示的SQL查詢語句。查詢結(jié)果以ResultSet對(duì)象返回,一般稱為結(jié)果集對(duì)象。在ResultSet對(duì)象上可以逐行逐列地讀取數(shù)據(jù)。第三十一頁,共55頁。2.執(zhí)行非查詢語句使用Statement接口的下列方法向數(shù)據(jù)庫發(fā)送非SQL查詢語句。publicintexecuteUpdate(Stringsql)執(zhí)行由字符串sql指定的SQL語句可是INSERT、DELETE、UPDATE語句可是無返回值的SQL語句,如SQLDDL語句CREATETABLE。返回值是更新的行數(shù),如果語句沒有返回,則返回值為0。第三十二頁,共55頁。2.執(zhí)行非查詢語句publicbooleanexecute(Stringsql)執(zhí)行可能有多個(gè)結(jié)果集的SQL語句,sql為任何SQL語句。如果語句執(zhí)行的第一個(gè)結(jié)果為ResultSet對(duì)象,該方法返回true,否則返回false。publicint[]executeBatch()用于在一個(gè)操作中發(fā)送多條SQL語句。第三十三頁,共55頁。

與Connection對(duì)象一樣,Statement對(duì)象使用完畢應(yīng)該用close()釋放其占用的資源。注意:并不是在執(zhí)行了一條SQL語句后就立即釋放這個(gè)Statement對(duì)象,可以用同一個(gè)Statement對(duì)象執(zhí)行多個(gè)SQL語句。3.釋放Statement第三十四頁,共55頁。7.3.3ResultSet接口ResultSet對(duì)象表示SELECT語句查詢得到的記錄集合,結(jié)果集一般是一個(gè)記錄表,包含多個(gè)記錄行、列標(biāo)題。注意:記錄行從1開始,一個(gè)Statement對(duì)象一個(gè)時(shí)刻只能打開一個(gè)ResultSet對(duì)象。如果需要對(duì)結(jié)果集的每行進(jìn)行處理,需要移動(dòng)結(jié)果集的游標(biāo)(結(jié)果集的一個(gè)標(biāo)志或指針)。對(duì)新產(chǎn)生的ResultSet對(duì)象,游標(biāo)指向第一行的前面,可以調(diào)用ResultSet的next(),使游標(biāo)定位到下一條記錄。第三十五頁,共55頁。publicbooleannext()throwsSQLException將游標(biāo)從當(dāng)前位置向下移動(dòng)一行。注意:第一次調(diào)用next(),將使第一行成為當(dāng)前行,以后調(diào)用游標(biāo)依次向后移動(dòng)。如果該方法返回true,說明新行是有效的行,若返回false,說明已無記錄。7.3.3ResultSet接口第三十六頁,共55頁。1.檢索字段值ResultSet接口提供檢索行字段值的方法,根據(jù)結(jié)果集列的數(shù)據(jù)類型不同,使用不同的getXxx()獲得列值。例如若列值為字符型數(shù)據(jù),可以使用下列方法檢索列值:StringgetString(intcolumnIndex)

StringgetString(StringcolumnName)

第三十七頁,共55頁。返回結(jié)果集中,當(dāng)前行指定的列號(hào)或列名的列值,結(jié)果作為字符串返回。columnIndex

為列在結(jié)果行中的序號(hào),序號(hào)從1開始。columnName為結(jié)果行中的列名。1.檢索字段值第三十八頁,共55頁。publicbooleangetBoolean(intcolumnIndex)返回指定列的boolean值。publicDategetDate(intcolumnIndex)返回指定列的Date對(duì)象值。publicObjectgetObject(intcolumnIndex)返回指定列的Object對(duì)象值。publicBlobgetBlob(intcolumnIndex)返回指定列的Blob對(duì)象值。publicClobgetClob(intcolumnIndex)返回指定列的Clob對(duì)象值。1.檢索字段值第三十九頁,共55頁。2.數(shù)據(jù)類型轉(zhuǎn)換在ResultSet對(duì)象中,數(shù)據(jù)為從數(shù)據(jù)庫中查詢出的數(shù)據(jù)。調(diào)用ResultSet對(duì)象的getXxx()方法返回的是Java語言的數(shù)據(jù)類型。實(shí)際上,調(diào)用getXxx()方法,就是把SQL數(shù)據(jù)類型轉(zhuǎn)換為Java語言數(shù)據(jù)類型。數(shù)據(jù)類型轉(zhuǎn)換的問題第四十頁,共55頁。2.數(shù)據(jù)類型轉(zhuǎn)換第四十一頁,共55頁。7.3.4可滾動(dòng)與可更新的ResultSet可滾動(dòng)的ResultSet在結(jié)果集對(duì)象上,可以前后移動(dòng)指針訪問結(jié)果集中的記錄??筛碌腞esultSet不但可以訪問結(jié)果集中的記錄,還可通過結(jié)果集對(duì)象更新數(shù)據(jù)庫。第四十二頁,共55頁。1.可滾動(dòng)的ResultSet要使用可滾動(dòng)的ResultSet對(duì)象,必須使用Connection對(duì)象的帶參數(shù)的createStatement()創(chuàng)建Statement。publicStatementcreateStatement(intresultType,intconcurrency)如果Statement對(duì)象用于查詢,兩個(gè)參數(shù)決定executeQuery()返回的ResultSet是否是一個(gè)可滾動(dòng)、可更新的ResultSet。第四十三頁,共55頁。參數(shù)resultType的取值應(yīng)為ResultSet接口中定義的常量。使用TYPE_SCROLL_SENSITIVE常量創(chuàng)建可滾動(dòng)的ResultSet,當(dāng)數(shù)據(jù)庫發(fā)生改變時(shí),這些變化對(duì)結(jié)果集可見。使用TYPE_SCROLL_INSENSITIVE常量創(chuàng)建可滾動(dòng)的ResultSet,當(dāng)數(shù)據(jù)庫發(fā)生改變時(shí),這些變化對(duì)結(jié)果集不可見。使用TYPE_FORWARD_ONLY常量創(chuàng)建不可滾動(dòng)的結(jié)果集。1.可滾動(dòng)的ResultSet第四十四頁,共55頁。對(duì)于可滾動(dòng)的結(jié)果集,ResultSet接口提供了下面的移動(dòng)結(jié)果集游標(biāo)的方法。publicbooleanprevious()throwsSQLException游標(biāo)向前移動(dòng)一行,如果存在合法的行返回true,否則返回false。publicbooleanfirst()throwsSQLException移動(dòng)游標(biāo)使其指向第一行。publicbooleanlast()throwsSQLException移動(dòng)游標(biāo)使其指向最后一行。publicbooleanabsolute(introws)throwsSQLException移動(dòng)游標(biāo)使其指向指定的行。1.可滾動(dòng)的ResultSet第四十五頁,共55頁。publicbooleanrelative(introws)throwsSQLException以當(dāng)前行為基準(zhǔn)相對(duì)移動(dòng)游標(biāo)的指針,rows為向后或向前移動(dòng)的行數(shù)。rows若為正值是向前移動(dòng),若為負(fù)值是向后移動(dòng)。publicbooleanisFirst()throwsSQLException返回游標(biāo)是否指向第一行。publicbooleanisLast()throwsSQLException返回游標(biāo)是否指向最后一行。publicintgetRow()返回游標(biāo)所在當(dāng)前行的行號(hào)。1.可滾動(dòng)的ResultSet第四十六頁,共55頁。2.可更新的ResultSet在JDBC2.0之前,ResultSet對(duì)象只可用于查詢數(shù)據(jù)、向前移動(dòng)游標(biāo)、讀取每列數(shù)據(jù)值。為了更新數(shù)據(jù),需要通過Statement對(duì)象執(zhí)行另外的SQL語句。JDBC2.0提供了直接通過ResultSet對(duì)象更新數(shù)據(jù)庫表中數(shù)據(jù)的能力。要實(shí)現(xiàn)該功能,應(yīng)該創(chuàng)建一個(gè)可更新的ResultSet對(duì)象。第四十七頁,共55頁。使用Connection的createStatement(intresultType,intconcurrency)創(chuàng)建Statement對(duì)象時(shí),指定第二個(gè)參數(shù)的值決定是否創(chuàng)建可更新的結(jié)果集。該參數(shù)使用ResultSet接口中定義的常量:ResultSet.CONCUR_READ_ONLY創(chuàng)建一個(gè)只。讀的ResultSet對(duì)象,不能更新表。ResultSet.CONCUR_UPDATABLE創(chuàng)建一個(gè)可更新的ResultSet對(duì)象。2.可更新的ResultSet第四十八頁,共55頁。得到可更新的ResultSet對(duì)象后,調(diào)用適當(dāng)?shù)膗pdateXxx()更新指定的列值。對(duì)于每種數(shù)據(jù)類型,ResultSet都定義了相應(yīng)的updateXxx():publicvoidupdateInt(intcolumnIndex,intx)用指定的整數(shù)x的值更新當(dāng)前行指定的列的值,其中columnIndex為列的序號(hào)。publicvoidupdateInt(StringcolumnName,intx)用指定的整數(shù)x的值更新當(dāng)前行指定的列的值,其中columnName為列名2.可更新的ResultSet第四十九頁,共55頁。publicvoidupdateString(intcolumnIndex,Stringx)用指定的字符串x的值更新當(dāng)前行指定的列的值,其中columnIndex為列的序號(hào)。publicvoidupdateString(StringcolumnName,Stringx)用指定的字符串x的值更新當(dāng)前行指定的列的值,其中columnName為列名。2.可更新的ResultSet第五十頁,共55頁。通過可更新的ResultSet對(duì)象,實(shí)現(xiàn)對(duì)表的插入、刪除、修改。voidmoveToInsertRow()throwsSQLException將游標(biāo)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論