Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件12 Java數(shù)據(jù)庫(kù)編程_第1頁(yè)
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件12 Java數(shù)據(jù)庫(kù)編程_第2頁(yè)
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件12 Java數(shù)據(jù)庫(kù)編程_第3頁(yè)
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件12 Java數(shù)據(jù)庫(kù)編程_第4頁(yè)
Java程序設(shè)計(jì)與實(shí)踐(微課版)-課件12 Java數(shù)據(jù)庫(kù)編程_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java程序設(shè)計(jì)JDBC編程1數(shù)據(jù)庫(kù)基礎(chǔ)2JDBC基礎(chǔ)3PreparedStatement4案例5進(jìn)階主要內(nèi)容CONTENTS1.文件有什么用?存儲(chǔ)數(shù)據(jù)(數(shù)據(jù)持久化)2.對(duì)普通用戶來(lái)說(shuō)有哪兩種類型的文件?二進(jìn)制文件、文本文件3.如果直接使用流來(lái)處理文件把年齡大于等于800的學(xué)生找出來(lái)對(duì)所有學(xué)生按照姓名進(jìn)行降序排列統(tǒng)計(jì)出每個(gè)專業(yè)的平均年齡概念引導(dǎo)id姓名年齡專業(yè)1哪吒1000中文2孫悟空800計(jì)算機(jī)3孫堅(jiān)68歷史5豬八戒732計(jì)算機(jī)6白居易56中文9諸葛亮72歷史什么是數(shù)據(jù)庫(kù)?為了實(shí)現(xiàn)一定目的按某種規(guī)則組織起來(lái)的“數(shù)據(jù)”的“集合”。我們身邊有什么樣的數(shù)據(jù)庫(kù)?電話里的通訊錄教學(xué)管理系統(tǒng)中你們的個(gè)人數(shù)據(jù)圖書(shū)館的藏書(shū)數(shù)據(jù)庫(kù)搜索引擎后面龐大的數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)現(xiàn)在的數(shù)據(jù)庫(kù)一般都關(guān)系型數(shù)據(jù)庫(kù)什么是關(guān)系型數(shù)據(jù)庫(kù)?使用表(table)來(lái)存儲(chǔ)數(shù)據(jù)使用行(row)區(qū)分不同記錄,每行代表一條記錄每一行由若干列(column,字段)組成關(guān)系型數(shù)據(jù)庫(kù)編號(hào)學(xué)號(hào)姓名性別出生年月日專業(yè)1202001001張三男2002/9/10計(jì)算機(jī)2202001002李四女2001/12/1數(shù)學(xué)3202001003王五男2003/3/21計(jì)算機(jī)表中一個(gè)列中的數(shù)據(jù)類型必須一致注意:數(shù)據(jù)庫(kù)內(nèi)部有自己的數(shù)據(jù)類型,暫時(shí)使用java的類型來(lái)描述關(guān)系型數(shù)據(jù)庫(kù)編號(hào)學(xué)號(hào)姓名性別出生年月日專業(yè)1202001001張三男2002/9/10計(jì)算機(jī)2202001002李四女2001/12/1數(shù)學(xué)3202001003王五男2003/3/21計(jì)算機(jī)字段名類型對(duì)應(yīng)的Java類型編號(hào)整型int學(xué)號(hào)字符串型java.lang.String姓名字符串型java.lang.String性別字符串型java.lang.String出生年月日日期型java.sql.Date專業(yè)字符串型java.lang.String什么是主鍵?通過(guò)主鍵可以唯一的確定一條記錄。如,下表中的編號(hào)字段也可通過(guò)多個(gè)列的聯(lián)合確定主鍵關(guān)系型數(shù)據(jù)庫(kù)編號(hào)學(xué)號(hào)姓名性別出生年月日專業(yè)1202001001張三男2002/9/10計(jì)算機(jī)2202001002李四女2001/12/1數(shù)學(xué)3202001003王五男2003/3/21計(jì)算機(jī)數(shù)據(jù)庫(kù)的完整性規(guī)則關(guān)系表中的行必須是唯一的所以,必須有主鍵,且主鍵不能為空列是不可分的比如,不存在name列,該列由firstname與lastname兩個(gè)列組成某些列的值可以為null注意:null代表沒(méi)有賦值,而不是指空值或者0.關(guān)系型數(shù)據(jù)庫(kù):完整性規(guī)則常見(jiàn)的數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DatabaseManagementSystem,DBMS)包含數(shù)據(jù)庫(kù)及其管理軟件常見(jiàn)數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)MySQL、Oracle、SQLServer、PostgreSQLSQLite(嵌入式數(shù)據(jù)庫(kù))Access(Office套件中的桌面數(shù)據(jù)庫(kù))MySQL是一款開(kāi)源的數(shù)據(jù)庫(kù)管理系統(tǒng),隸屬于Oracle公司

下載:MySQLCommunityServerMySQL基本使用一、啟動(dòng)與退出MySQL命令行客戶端1.啟動(dòng)方法1:MySQLCommandLineClient(MySQL的控制臺(tái)界面),直接輸入安裝時(shí)的密碼即可方法2:也可從命令行進(jìn)入MySQL(先進(jìn)入mysql…\bin目錄)mysql

-uroot

-p注意:MySQL的默認(rèn)管理員名稱一般為root2.退出命令:quit或exitMySQL基本操作:使用命令行操作MySQL二、MySQL數(shù)據(jù)庫(kù)常見(jiàn)操作命令注意:一般應(yīng)以;作為命令結(jié)束標(biāo)志MySQL基本操作:使用命令行操作MySQL命令功能showdatabases;顯示所有數(shù)據(jù)庫(kù)createdatabasetest;創(chuàng)建數(shù)據(jù)庫(kù)dropdatabasetest;刪除數(shù)據(jù)庫(kù)usetest;打開(kāi)test數(shù)據(jù)庫(kù)(使用數(shù)據(jù)庫(kù)前,要先打開(kāi)數(shù)據(jù)庫(kù))selectdatabase();查看當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)showtables;當(dāng)前數(shù)據(jù)庫(kù)包含的表desctable1;查看表table1的結(jié)構(gòu)三、表操作(SQL語(yǔ)句)創(chuàng)建students表:createtablestudents;注意:創(chuàng)建表之前應(yīng)先打開(kāi)(use)某個(gè)數(shù)據(jù)庫(kù)刪除students表:droptable

students;MySQL基本操作:使用命令行操作MySQLcreatetablestudents(idintnotnullprimarykeyauto_increment,stunovarchar(10)notnull,namevarchar(20)notnull,gendervarchar(1)notnull,ageint,birthdatedate,majorvarchar(20));四.記錄操作插入記錄:insertinto查詢記錄:selectselect*fromstudents;刪除記錄:delete刪除students表中編號(hào)為1的記錄deletefromstudentswhereid=1;MySQL基本操作:使用命令行操作MySQLinsertintostudents(stuno,name,gender,birthdate,major,age)values('201010001','zhangsan','m','1992-10-01','cs',25);數(shù)據(jù)庫(kù)和表的關(guān)系createdatabasetest;//建立了一個(gè)數(shù)據(jù)庫(kù)testusetest; //連接test數(shù)據(jù)庫(kù)createtablebook(namechar(50));//在test數(shù)據(jù)庫(kù)中建立book表注:表一般來(lái)說(shuō)總是屬于某個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)庫(kù)中可以有多個(gè)表使用數(shù)據(jù)庫(kù)名.表名

來(lái)唯一標(biāo)識(shí)表test.book----test數(shù)據(jù)庫(kù)中的book表test.student----test數(shù)據(jù)庫(kù)中的student表數(shù)據(jù)庫(kù)和表的關(guān)系SQL(StructuredQueryLanguage)用于訪問(wèn)和處理數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)的計(jì)算機(jī)語(yǔ)言用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)常見(jiàn)SQL語(yǔ)句(分為哪兩大類?)查詢數(shù)據(jù)select插入數(shù)據(jù)insert更新數(shù)據(jù)update刪除數(shù)據(jù)delete結(jié)構(gòu)化查詢語(yǔ)言:SQL常見(jiàn)的SQL語(yǔ)句主要分為兩大類:數(shù)據(jù)查詢(DQL,DataQueryLanguage):select數(shù)據(jù)操作(DML,DataManipulationLanguage):insert,update,delete結(jié)構(gòu)化查詢語(yǔ)言:SQL類型SQL語(yǔ)句功能查select*fromstudentswherename='張三'從students表中查詢name為"張三"的記錄的所有列。*代表所有列。增insertintostudents(stuno,name,gender)values('201500001','李四','m')往students表中插入一條記錄(給定stuno,name,gender列)改updatestudentssetname='李四'whereid=1將id為1的記錄的name改為"李四"刪deletefromstudentswhereid=1刪除id為1的記錄updatestudentssetname='李四'whereid=1為什么李四要用''括起來(lái),1不用?name是文本類型id是數(shù)值類型結(jié)構(gòu)化查詢語(yǔ)言:SQLMySQLWorkbench其他Navicat、SQLyogPHPMyAdmin,通過(guò)Web管理使用圖形界面管理數(shù)據(jù)庫(kù)剛才以命令行方式來(lái)操作數(shù)據(jù)庫(kù),怎樣使用Java代碼來(lái)操作數(shù)據(jù)庫(kù)呢?JDBC可理解為JavaDatabaseConnectivity包含一組API,可以讓Java程序訪問(wèn)關(guān)系數(shù)據(jù)庫(kù)可以執(zhí)行SQL語(yǔ)句、獲取結(jié)果集等JDBC基本概念Java程序JDBCAPI數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)協(xié)議JDBCAPI包含程序員調(diào)用的類接口在java.sql與javax.sql包中JDBC驅(qū)動(dòng)數(shù)據(jù)庫(kù)廠商提供功能:負(fù)責(zé)連接數(shù)據(jù)庫(kù)。使用流程找到所需連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng);然后在DriverManager中注冊(cè)該驅(qū)動(dòng)。JDBC組成面向數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的常用接口JDBCAPI常用接口接口功能java.sql.DriverManager管理JDBC驅(qū)動(dòng)程序,注冊(cè)驅(qū)動(dòng)程序。獲得連接。java.sql.Connection與特定數(shù)據(jù)庫(kù)的連接。java.sql.Statement用于執(zhí)行靜態(tài)SQL語(yǔ)句并返回結(jié)果對(duì)象。java.sql.ResultSet表示數(shù)據(jù)庫(kù)結(jié)果集的數(shù)據(jù)表注冊(cè)驅(qū)動(dòng)使用DriverManager獲得數(shù)據(jù)庫(kù)的連接(Connection)通過(guò)Connection創(chuàng)建SQL語(yǔ)句(Statement)通過(guò)Statement獲得結(jié)果集(ResultSet)處理結(jié)果集釋放相關(guān)資源(關(guān)閉結(jié)果集、語(yǔ)句、連接)JDBC編程常規(guī)步驟驅(qū)動(dòng)ConnectionStatementResultSetJDBC編程常規(guī)步驟注冊(cè)驅(qū)動(dòng)獲得連接創(chuàng)建語(yǔ)句獲得結(jié)果集處理結(jié)果集JDBC編程常規(guī)步驟釋放相關(guān)資源注冊(cè)驅(qū)動(dòng):即加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序。需提供驅(qū)動(dòng)類名。不同數(shù)據(jù)庫(kù)的驅(qū)動(dòng)類名不一樣。com.mysql.cj.jdbc.Driver為MySQLConnetor6以上的驅(qū)動(dòng)類名使用DriverManager獲得數(shù)據(jù)庫(kù)的連接(Connection)需提供:數(shù)據(jù)庫(kù)URL、用戶名、密碼捕獲SQLException(受檢異常),該異常包含如下信息:錯(cuò)誤的描述SQL狀態(tài)碼錯(cuò)誤碼原因JDBC編程說(shuō)明代碼:ConnectMySQL.java1.注冊(cè)驅(qū)動(dòng)JDBC4.0前通過(guò)Class.forName(driverName)往DriverManager注冊(cè)驅(qū)動(dòng)JDBC4.0及以后:可無(wú)需顯式注冊(cè)。常見(jiàn)驅(qū)動(dòng)器類名:JDBC編程實(shí)例驅(qū)動(dòng)器類名版本com.mysql.jdbc.DriverMySQLConnetor5com.mysql.cj.jdbc.DriverMySQLConnetor6及以上com.microsoft.sqlserver.jdbc.SQLServerDriverMicrosoftSQLServer2.使用DriverManager創(chuàng)建連接(Connection)DriverManager.getConnection(URL,userName,password);JDBCURL:JDBC驅(qū)動(dòng)用來(lái)連接數(shù)據(jù)庫(kù)的字符串。到哪去找數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)名、其他一些屬性格式一般為“協(xié)議:子協(xié)議:數(shù)據(jù)源[;屬性]”JDBC編程實(shí)例數(shù)據(jù)庫(kù)URL示例MySQLjdbc:mysql://localhost:3306/test?serverTimezone=Asia/ChongqingSQLServerjdbc:sqlserver://localhost:1433;DataBaseName=test3.SQLException處理JDBC時(shí)遇到的異常對(duì)象常見(jiàn)SQLException訪問(wèn)拒絕:如,用戶名、密碼錯(cuò)誤未正確設(shè)置時(shí)區(qū):MySQL6.0以后需在URL中設(shè)置時(shí)區(qū)SQL語(yǔ)句錯(cuò)誤:如下為,test數(shù)據(jù)庫(kù)中的student表不存在SQL語(yǔ)句錯(cuò)誤:如下為SQL語(yǔ)句中的指定了錯(cuò)誤的列名JDBC編程實(shí)例4.資源釋放Connection、Statement、ResultSet使用完后,如果不繼續(xù)使用,應(yīng)使用close()方法關(guān)閉,以釋放資源(相關(guān)對(duì)象、數(shù)據(jù)庫(kù)連接等)一般來(lái)說(shuō):close()完,應(yīng)顯式將相應(yīng)變量設(shè)置為null。Statement的close():調(diào)用close方法后,其相應(yīng)的ResultSet對(duì)象也將關(guān)閉。JDBC編程實(shí)例4.資源釋放改進(jìn):使用try-with-resources語(yǔ)法進(jìn)行關(guān)閉JDBC編程實(shí)例獲取數(shù)據(jù)庫(kù)連接總是需要

驅(qū)動(dòng)名、數(shù)據(jù)庫(kù)URL、用戶名、密碼,如果在每個(gè)需要獲得連接的地方都輸入上述信息才能使用,略顯繁瑣。并且釋放資源的代碼也大同小異。改進(jìn):將上述常用信息及獲取連接的方法、關(guān)閉連接、釋放資源的方法放到一個(gè)工具類中。實(shí)現(xiàn)代碼復(fù)用。代碼:詳見(jiàn)JDBCUtil.javaJDBC工具類Statement執(zhí)行靜態(tài)SQL語(yǔ)句使用Connection建立:兩個(gè)主要方法數(shù)據(jù)庫(kù)查詢:executeQuery

返回一個(gè)ResultSet對(duì)象數(shù)據(jù)庫(kù)更新:executeUpdate

返回整型數(shù)值,代表所影響的行數(shù)。executeUpdate將改變數(shù)據(jù)庫(kù)內(nèi)容。執(zhí)行INSERT、UPDATE或DELETE語(yǔ)句和某些SQLDDL語(yǔ)句(如CREATETABLE等)ResultSet常用方法get類型(inti),以指定類型返回第i列值,從1開(kāi)始;如rs.getInt(2)get類型(Stringname),以指定類型返回列名對(duì)應(yīng)列的值代碼:StatementTest.javaStatementbooleanexecute(Stringsql)方法執(zhí)行SQL語(yǔ)句,可能是查詢語(yǔ)句也可能是更新語(yǔ)句返回true,代表查詢語(yǔ)句可使用getResultSet()獲得結(jié)果集返回false,代表更新語(yǔ)句,使用getUpdateCount()獲得更新計(jì)數(shù)(影響的行數(shù))代碼:StatementTest2.javaStatement的execute方法如果數(shù)據(jù)表設(shè)置了自增長(zhǎng)主鍵,插入數(shù)據(jù)時(shí)數(shù)據(jù)庫(kù)將為新插入的記錄自動(dòng)生成新的主鍵值。如何獲取這個(gè)主鍵的值?可使用Statement的ResultSetgetGeneratedKeys()方法getGeneratedKeys:獲取所插入記錄的主鍵值resultNum=stmt.executeUpdate(strSql,Statement.RETURN_GENERATED_KEYS);ResultSetkeyrs=stmt.getGeneratedKeys();//有的數(shù)據(jù)庫(kù)可能會(huì)返回多個(gè)值keyrs.next();int

key=keyrs.getInt(1);//獲取剛才新生成的主鍵代碼:StatementTest3GetGeneratedKeys.javagetGeneratedKeys方法獲取主鍵值組裝對(duì)象常見(jiàn)SQL語(yǔ)句(不用錄制)課堂練習(xí)按照brithdate降序查詢表中的數(shù)據(jù)?select*fromstudentsorderbybirthdatedesc有若干學(xué)生,專業(yè)不同,那么一共有幾種不同的專業(yè)?selectdistinctmajorfromstudents使用Group進(jìn)行分組統(tǒng)計(jì)(統(tǒng)計(jì)每個(gè)專業(yè)學(xué)生數(shù))selectmajor,count(*)ascounterfromstudentsgroupbymajor對(duì)某一列應(yīng)用函數(shù)(比如avg,count,sum等)selectavg(age)fromstudents//統(tǒng)計(jì)學(xué)生平均年齡selectavg(age)fromstudentsgroupbymajor//按major分組統(tǒng)計(jì)平均年齡PreparedStatement表示預(yù)編譯的SQL語(yǔ)句對(duì)象預(yù)編譯:SQL語(yǔ)句被預(yù)編譯并存儲(chǔ)在PreparedStatement對(duì)象中,可使用該對(duì)象高效地多次執(zhí)行相應(yīng)SQL語(yǔ)句。參數(shù)化查詢:可動(dòng)態(tài)指定SQL語(yǔ)句中參數(shù)PreparedStatement基本用法代碼:PreparedStatementTest.Java需求學(xué)生管理系統(tǒng)中,頻繁地根據(jù)姓名查詢學(xué)生信息。分析SQL語(yǔ)句:select*fromstudentswherename=?SQL語(yǔ)句中只有name的值需要改變,并且需頻繁調(diào)用該SQL語(yǔ)句解決方法:使用PreparedStatement進(jìn)行動(dòng)態(tài)化查詢代碼:PreparedStatementTest2.java使用set類型(列下標(biāo),要設(shè)置的參數(shù))來(lái)對(duì)?進(jìn)行賦值代碼中反復(fù)使用了同一個(gè)PreparedStatement對(duì)象clearParameters()方法可以方便每次重用PreparedStatement對(duì)象PreparedStatement的應(yīng)用PreparedStatement總結(jié)繼承自Statement可建立預(yù)先編譯的SQL語(yǔ)句,速度快可進(jìn)行參數(shù)化查詢,方便進(jìn)行動(dòng)態(tài)查詢相比較字符串拼接SQL語(yǔ)句的方式,可以防止SQL注入可重用SQL字符串,避免頻繁新建String對(duì)象影響性能結(jié)論所有可使用Statement的地方,都可以使用PreparedStatment代替PreparedStatement總結(jié)當(dāng)希望一組語(yǔ)句要不然都執(zhí)行、要不然都不要執(zhí)行這時(shí)候需要使用事務(wù)處理來(lái)保證原子性操作!例子:轉(zhuǎn)賬(從賬戶A轉(zhuǎn)給賬戶B100元)將A賬戶的余額-100將B賬戶的余額+100如語(yǔ)句1執(zhí)行完,發(fā)生異常,未執(zhí)行語(yǔ)句2!??!事務(wù)處理事務(wù)處理步驟禁止Connection對(duì)象的自動(dòng)提交模式con.setAutoCommit(false);//默認(rèn)為true,即自動(dòng)提交。自動(dòng)提交:意味著每條語(yǔ)句被當(dāng)作一個(gè)事務(wù),執(zhí)行時(shí)就直接提交準(zhǔn)備事務(wù)中的多條語(yǔ)句在非自動(dòng)提交模式下,即使執(zhí)行executeXXX,語(yǔ)句也不會(huì)被提交給數(shù)據(jù)庫(kù)事務(wù)提交mit();//將多條語(yǔ)句納入當(dāng)前事務(wù)然后作為一個(gè)執(zhí)行單元提交,提交后將釋放數(shù)據(jù)庫(kù)鎖發(fā)生異常時(shí)事務(wù)回滾con.rollback();//終止事務(wù)執(zhí)行,取消所有更改,釋放數(shù)據(jù)庫(kù)鎖事務(wù)處理try{con.setAutoCommit(false);

//事務(wù)開(kāi)啟:SQL語(yǔ)句暫不執(zhí)行。

pstmt1=con.prepareStatement(sql1);pstmt1.executeUpdate();pstmt2=con.prepareStatement(sql2);pstmt2.executeUpdate();mit();//事務(wù)提交:讓數(shù)據(jù)庫(kù)執(zhí)行事務(wù)中的所有SQL語(yǔ)句。

事務(wù)處理關(guān)鍵步驟(代碼TransactionTest.java)一定要顯式執(zhí)行rollback()進(jìn)行事務(wù)回滾,才能:撤銷當(dāng)前事務(wù)中的所有改變;釋放當(dāng)前Connection對(duì)象占據(jù)的數(shù)據(jù)庫(kù)鎖。如果需要向數(shù)據(jù)庫(kù)中一次性插入大量數(shù)據(jù)下列代碼將頻繁向數(shù)據(jù)庫(kù)通過(guò)發(fā)送SQL,速度慢執(zhí)行一次executeUpdate都會(huì)向數(shù)據(jù)庫(kù)發(fā)送一次SQL解決:使用Statement的addBatch(Stringsql)方法、executeBatch()方法與PreparedStatement的addBatch()批量處理String

strSql

=

"insert

into

students(stuno,name,gender)

values(?,?,?)";pstmt

=

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論