版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第11章JDBC數(shù)據(jù)庫訪問學(xué)習(xí)目的與要求本章主要介紹在JSP程序中如何訪問數(shù)據(jù)庫。通過本章的學(xué)習(xí),熟練掌握J(rèn)SP對數(shù)據(jù)庫的操作,包括查詢、添加、更新和刪除?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQLJDBC(JavaDataBaseConnectivity)是Java平臺核心類庫的一部分,它由一組標(biāo)準(zhǔn)接口與類組成。經(jīng)常使用JDBC完成三件事:1.與指定的數(shù)據(jù)庫建立連接;2.向已連接的數(shù)據(jù)庫發(fā)送SQL命令;3.處理SQL命令返回的結(jié)果。使用純Java數(shù)據(jù)庫驅(qū)動程序連接數(shù)據(jù)庫,需要兩個步驟: 注冊純Java數(shù)據(jù)庫驅(qū)動程序 和指定的數(shù)據(jù)庫建立連接《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
注冊純Java數(shù)據(jù)庫驅(qū)動程序每種數(shù)據(jù)庫都配有自己的純Java數(shù)據(jù)庫驅(qū)動程序。可從官網(wǎng)“/downloads/connector/j/”下載MySQL的Java數(shù)據(jù)庫驅(qū)動程序,本書采用的是mysql-connector-java-8.0.211.jar。為了連接MySQL數(shù)據(jù)庫,需要將mysql-connector-java-8.0.211.jar文件復(fù)制到Web應(yīng)用程序的/WEB-INF/lib目錄下。然后,通過java.lang.Class類的forName(),動態(tài)注冊MySQL的純Java驅(qū)動程序,代碼如下:try{
Class.forName("com.mysql.cj.jdbc.Driver");}catch(ClassNotFoundExceptione){
e.printStackTrace();}《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
和指定的數(shù)據(jù)庫建立連接和MySQL數(shù)據(jù)庫建立連接的代碼如下:try{
Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/數(shù)據(jù)庫名?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8","用戶名","密碼");}catch(SQLExceptione){
e.printStackTrace();}MySQL默認(rèn)端口號為3306;“characterEncoding=utf-8”解決中文字符亂碼問題;用戶名和密碼是訪問MySQL服務(wù)器的用戶權(quán)限?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL【例11-1】創(chuàng)建example11_1.jsp頁面,并在該頁面中使用純Java數(shù)據(jù)庫驅(qū)動程序連接數(shù)據(jù)庫test,并查詢數(shù)據(jù)表goods中的數(shù)據(jù)。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
訪問數(shù)據(jù)庫的步驟由例11-1的代碼,可以看出訪問數(shù)據(jù)庫需要以下幾個步驟:(1)導(dǎo)入java.sql包(2)加載驅(qū)動程序(3)連接數(shù)據(jù)庫(4)訪問數(shù)據(jù)庫(5)處理返回的結(jié)果集(6)關(guān)閉數(shù)據(jù)庫連接,釋放資源《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.2數(shù)據(jù)庫操作與指定的數(shù)據(jù)庫建立連接后,就可以使用JDBC提供的API對數(shù)據(jù)庫進(jìn)行操作,包括查詢、新增、更新、刪除等操作?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.2.1查詢操作和數(shù)據(jù)庫建立連接后,對數(shù)據(jù)庫表進(jìn)行查詢操作的步驟如下:1.創(chuàng)建Statement對象由已創(chuàng)建的Connection對象con調(diào)用createStatement()方法創(chuàng)建Statement對象,代碼如下:Statementsmt=con.createStatement();2.執(zhí)行SQL查詢語句創(chuàng)建Statement對象后,可以使用Statement對象調(diào)用executeQuery(String
sql)方法執(zhí)行SQL查詢語句。該方法返回ResultSet對象,代表查詢結(jié)果。3.處理查詢結(jié)果ResultSet對象是executeQuery(Stringsql)方法的返回值,被稱為結(jié)果集,它代表符合SQL查詢語句的所有行。ResultSet對象自動維護(hù)指向其當(dāng)前數(shù)據(jù)行的游標(biāo)。每調(diào)用一次next()方法,游標(biāo)向下移動一行。最初它位于結(jié)果集的第一行之前,因此第一次調(diào)用next(),將把游標(biāo)置于第一行上,使它成為當(dāng)前行。隨著每次調(diào)用next(),導(dǎo)致游標(biāo)向下移動一行,按照從上至下的次序獲取ResultSet行,實(shí)現(xiàn)順序查詢。ResultSet對象包含SQL查詢語句的執(zhí)行結(jié)果。它通過一套get()方法對這些行中數(shù)據(jù)訪問,即使用getXxx()方法獲得數(shù)據(jù)。get方法很多,究竟用哪一個getXxx()方法,由列的數(shù)據(jù)類型來決定。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.2.2新增、更新與刪除操作和數(shù)據(jù)庫建立連接后,對數(shù)據(jù)庫表進(jìn)行新增、更新與刪除操作的具體步驟如下:1.創(chuàng)建Statement對象Statement對象的創(chuàng)建與查詢操作一樣,由已創(chuàng)建的Connection對象con調(diào)用createStatement()方法創(chuàng)建Statement對象。2.執(zhí)行SQL語句,完成新增、更新與刪除操作創(chuàng)建Statement對象后,可以使用Statement對象調(diào)用executeUpdate(String
sql)方法執(zhí)行SQL語句,完成新增、更新與刪除操作。executeUpdate(String
sql)方法主要用于執(zhí)行INSERT、UPDATE或DELETE語句以及SQL
DDL語句,例如CREATE
TABLE和DROP
TABLE。該方法返回一個整數(shù)(代表被更新的行數(shù)),對于CREATE
TABLE和DROP
TABLE等不操作行的指令,返回零?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.2.2新增、更新與刪除操作【例11-2】編寫兩個JSP頁面:addGoods.jsp和showAllGoods.jsp。用戶可以在addGoods.jsp頁面中輸入信息,單擊“添加”按鈕把信息添加到goods表中。在showAllGoods.jsp頁面中顯示所有商品信息。在該例中需要編寫一個Servlet(GoodsServlet.java)用來實(shí)現(xiàn)添加和查詢記錄,還需要實(shí)體類Goods封裝查詢的商品信息?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.2.3實(shí)踐環(huán)節(jié)——使用Statement語句實(shí)現(xiàn)多條件查詢編寫兩個JSP頁面:inputQuery.jsp和showGoods.jsp。用戶可以在inputQuery.jsp頁面輸入查詢條件,單擊“查詢”按鈕后,在showGoods.jsp頁面中顯示符合查詢條件的商品信息。需要編寫一個Servlet類SelectGoodsServlet.java實(shí)現(xiàn)該題的條件查詢功能,另外需要使用例11-2的實(shí)體類Goods。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.3游動查詢有時候需要結(jié)果集的游標(biāo)前后移動,這時可使用滾動結(jié)果集。為了獲得滾動結(jié)果集,必須首先用下面的方法得到一個Statement對象:
Statementst=con.createStatement(inttype,intconcurrency);根據(jù)type和concurrency的取值,當(dāng)執(zhí)行ResultSet
rs
=st.executeQuery(Stringsql)時,會返回不同類型的結(jié)果集。type的取值決定滾動方式,它的取值是:
ResultSet.TYPE_FORWORD_ONLY:表示結(jié)果集只能向下滾動。
ResultSet.TYPE_SCROLL_INSENSITIVE:表示結(jié)果集可以上下滾動,當(dāng)數(shù)據(jù)庫變化時,結(jié)果集不變。
ResultSet.TYPE_SCROLL_SENSITIVE:表示結(jié)果集可以上下滾動,當(dāng)數(shù)據(jù)庫變化時,結(jié)果集同步改變。Concurrency的取值表示是否可以用結(jié)果集更新數(shù)據(jù)庫,它的取值是:
ResultSet.CONCUR_READ_ONLY:表示不能用結(jié)果集更新數(shù)據(jù)庫表。
ResultSet.CONCUR_UPDATETABLE:表示能用結(jié)果集更新數(shù)據(jù)庫表。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.3游動查詢【例11-3】編寫一個Servlet(MoveSelectServlet.java),在Servlet中查詢goods表中的記錄,并在showMoveGoods.jsp頁面中逆序顯示偶數(shù)行的記錄。在本例中需要使用例11-2的實(shí)體類Goods,但需要為Goods添加一個屬性rowno封裝行號。首先,運(yùn)行Servlet,結(jié)果如圖11.4所示?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.4使用連接池數(shù)據(jù)庫連接池的基本思想是:為數(shù)據(jù)庫連接建立一個“緩沖池”。預(yù)先在“緩沖池”中放入一定數(shù)量的連接,當(dāng)需要建立數(shù)據(jù)庫連接時,只需從“緩沖池”中取出一個,使用完畢之后再放回去??梢酝ㄟ^設(shè)定連接池最大連接數(shù)來防止系統(tǒng)無限度地與數(shù)據(jù)庫連接。更為重要的是,通過連接池的管理機(jī)制監(jiān)視數(shù)據(jù)庫連接的數(shù)量及使用情況,為系統(tǒng)開發(fā)、測試和性能調(diào)整提供依據(jù)。用戶1用戶2Servlet或JSP線程1線程2連接池建立連接管理連接釋放連接數(shù)據(jù)庫請求請求取得連接放回連接放回連接取得連接圖11.5連接池的原理《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.4使用連接池【例11-4】編寫一個JSP頁面conPool.jsp,在該頁面中使用scope為application的Bean(由ConnectionPool負(fù)責(zé)創(chuàng)建)。該Bean創(chuàng)建時,將建立一定數(shù)量的連接對象。因此,所有的用戶將共享這些連接對象。在JSP頁面中使用Bean獲得一個連接對象,然后使用該連接對象訪問數(shù)據(jù)庫中g(shù)oods表(查詢出商品價格大于50的商品)?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.5.1連接SQLServer數(shù)據(jù)庫1.獲取純Java數(shù)據(jù)庫驅(qū)動程序可以登錄微軟的官方網(wǎng)站/zh-cn/sql/connect/jdbc/下載Microsoft
JDBC
Driver
for
SQL
Server(本書下載的是sqljdbc__chs.zip),解壓后得到多個mssql-jdbc-11.2.1.jreX.jar(對應(yīng)Java
X)文件。然后,根據(jù)Java版本將對應(yīng)的JAR文件復(fù)制到Web應(yīng)用程序的/WEB-INF/lib目錄下。2.加載驅(qū)動程序Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.5.1連接SQLServer數(shù)據(jù)庫3.建立連接Connectioncon=DriverManager.getConnection(url);其中url為連接地址,根據(jù)實(shí)際情況具體示例如下。(1)使用用戶名和密碼連接到本地計(jì)算機(jī)上的默認(rèn)數(shù)據(jù)庫:Stringurl="jdbc:sqlserver://localhost;encrypt=true;user=MyUserName;password=*****";(2)使用集成身份驗(yàn)證連接到本地計(jì)算機(jī)上的默認(rèn)數(shù)據(jù)庫:Stringurl="jdbc:sqlserver://localhost;encrypt=true;integratedSecurity=true";(3)連接到遠(yuǎn)程服務(wù)器上的指定數(shù)據(jù)庫:Stringurl="jdbc:sqlserver://localhost;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true";(4)連接到遠(yuǎn)程服務(wù)器上的默認(rèn)端口:Stringurl="jdbc:sqlserver://localhost:1433;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true";(5)通過指定自定義應(yīng)用程序名稱進(jìn)行連接:Stringurl="jdbc:sqlserver://localhost;encrypt=true;databaseName=AdventureWorks;integratedSecurity=true;applicationName=MyApp";《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.5.2連接Oracle數(shù)據(jù)庫1.獲取純Java數(shù)據(jù)庫驅(qū)動程序以O(shè)racle19c為例,Oracle19c的純Java驅(qū)動程序一般位于數(shù)據(jù)庫安裝包解壓后目錄“\jdbc\lib”下,名為ojdbc8.jar。為了連接Oracle19c數(shù)據(jù)庫,可以將ojdbc8.jar文件復(fù)制到Web應(yīng)用程序的/WEB-INF/lib目錄下。2.加載驅(qū)動程序Class.forName("oracle.jdbc.driver.OracleDriver");3.建立連接Connectioncon=DriverManager.getConnection("jdbc:oracle:thin:@主機(jī):端口號:數(shù)據(jù)庫名","用戶名","密碼");其中,主機(jī)是安裝Oracle服務(wù)器的IP地址,如果是本機(jī)則為“l(fā)ocalhost”;Oracle默認(rèn)端口號為1521;Oracle默認(rèn)數(shù)據(jù)庫名為orcl;用戶名和密碼是訪問Oracle服務(wù)器的用戶權(quán)限?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.6.1預(yù)處理語句的優(yōu)點(diǎn)Statement對象在每次執(zhí)行SQL語句時都將該語句傳送給數(shù)據(jù)庫,然后數(shù)據(jù)庫解釋器負(fù)責(zé)將SQL語句轉(zhuǎn)換成內(nèi)部命令,并執(zhí)行該命令,完成相應(yīng)的數(shù)據(jù)庫操作。這種機(jī)制,每次向數(shù)據(jù)庫發(fā)送一條SQL語句時,都要先轉(zhuǎn)化成內(nèi)部命令,如果不斷的執(zhí)行程序,就會加重解釋器的負(fù)擔(dān),影響執(zhí)行的速度。而PreparedStatement對象,將SQL語句傳送給數(shù)據(jù)庫進(jìn)行預(yù)編譯,以后需要執(zhí)行同一條語句時就不再需要重新編譯,直接執(zhí)行就可以了,這樣就大大提高了數(shù)據(jù)庫的執(zhí)行速度?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.6.2使用通配符可以使用Connection的對象con調(diào)用prepareStatement(String
sql)方法對參數(shù)sql指定的SQL語句進(jìn)行預(yù)先編譯,生成數(shù)據(jù)庫的底層命令,并將該命令封裝在PreparedStatement對象中。對于SQL語句中變動的部分,可以使用通配符“?”代替。例如:PreparedStatementps=con.prepareStatement("insertintogoodsInfovalues(?,?,?,?)";然后使用對應(yīng)的setXxx(intparameterIndex,xxxvalue)方法設(shè)置“?”代表的值,其中參數(shù)parameterIndex用來表示SQL語句中從左到右的第parameterIndex個通配符號,value代表該通配符所代表的具體值。例如:ps.setInt(1,9);ps.setString(2,"手機(jī)");ps.setDouble(3,1900.8);ps.setString(4,"通信");若讓SQL語句執(zhí)行生效,需使用PreparedStatement的對象ps調(diào)用executeUpdate()方法。如果是查詢的話,ps就調(diào)用executeQuery()方法,并返回ResultSet對象?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.6.2使用通配符【例11-5】將例子11-2修改為使用PreparedStatement語句實(shí)現(xiàn)?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.6.3實(shí)踐環(huán)節(jié)——使用PreparedStatement語句實(shí)現(xiàn)多條件查詢將11.2.3的實(shí)踐環(huán)節(jié)修改為使用PreparedStatement語句實(shí)現(xiàn)?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.7分頁查詢分頁查詢一般有兩種實(shí)現(xiàn)方式:一次查詢出所有數(shù)據(jù),在頁面中進(jìn)行分頁顯示;每頁查詢一次,每次只查詢本頁顯示的數(shù)據(jù)。本節(jié)采用第二種方式實(shí)現(xiàn)分頁查詢。下面通過一個實(shí)例介紹分頁查詢。【例11-6】編寫一個Servlet類SelectGoodsByPageServlet,在該Servlet類中實(shí)現(xiàn)分頁查詢goods表的數(shù)據(jù),假設(shè)每頁顯示3條數(shù)據(jù)。另外,需要編寫一個顯示數(shù)據(jù)頁面showGoodsByPage.jsp?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄11.1使用純Java數(shù)據(jù)庫驅(qū)動程序連接MySQL11.2數(shù)據(jù)庫操作11.3游動查詢11.4使用連接池11.5其他典型數(shù)據(jù)庫的連接11.6使用PreparedStatement語句訪問數(shù)據(jù)庫11.7分頁查詢11.8Excel與數(shù)據(jù)庫互訪《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.8Excel與數(shù)據(jù)庫互訪Java讀寫Excel文件有兩種途徑:一個是POI(Apache
POI),一個是jExcelAPI(即jxl)。POI為Apache公司的一個子項(xiàng)目,主要是提供一組操作windows文檔的Java
API。jxl是一開放源碼項(xiàng)目,通過它Java開發(fā)人員可以讀寫Excel文件、更新已經(jīng)存在的Excel文件。目前,jxl只能處理Excel
07之前的版本,即xls文件;而POI方式可以處理xls跟xlsx文件。本節(jié)使用POI方式讀寫Excel文件??梢詮墓倬W(wǎng)/download.html下載POI的JAR包。本書下載的是poi-bin-3.17-20170915.tar.gz版本?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.8Excel與數(shù)據(jù)庫互訪讀寫xls格式時需要導(dǎo)入poi-3.17.jar,讀寫xlsx格式時還需要導(dǎo)入poi-ooxml-3.17.jar和poi-ooxml-schemas-3.17.jar。當(dāng)操作word、ppt、viso、outlook等文檔時需要導(dǎo)入poi-scratchpad-3.17.jar。除了導(dǎo)入這些JAR包外,還需要將它們的依賴包導(dǎo)入,即將lib和ooxml-lib目錄下的JAR包導(dǎo)入。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
11.8.1向數(shù)據(jù)庫導(dǎo)入Excel本小節(jié)詳細(xì)講解如何將Excel文件內(nèi)容導(dǎo)入到數(shù)據(jù)庫的數(shù)據(jù)表中。下面以一個實(shí)例進(jìn)行講解。該實(shí)例的功能需求是,將Excel文件中的商品信息導(dǎo)入到數(shù)據(jù)表goods中。1.創(chuàng)建Exc
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新型環(huán)保建材采購沙石工程合同5篇
- 2024年葡萄種植園智慧農(nóng)業(yè)系統(tǒng)建設(shè)合作協(xié)議2篇
- 電子商務(wù)平臺信用評價體系建立服務(wù)合同
- 2024智能穿戴設(shè)備制造商與運(yùn)動品牌之間合作開發(fā)合同
- 2024版化服務(wù)采購項(xiàng)目政府采購合同
- 二零二五年度房地產(chǎn)廣告效果評估合同6篇
- 2025年度物流服務(wù)合同:電商企業(yè)與物流公司之間的物流配送及售后服務(wù)協(xié)議3篇
- 智能制造生產(chǎn)線合同
- 2024年道路交通事故處理協(xié)議書3篇
- 2024版酒店式辦公室保潔協(xié)議3篇
- 啟閉機(jī)試運(yùn)行記錄-副本
- 人民醫(yī)院財務(wù)科工作流程圖
- 雙減作業(yè)分層設(shè)計(jì)-六年級上冊語文分層作業(yè)設(shè)計(jì)案例09《竹節(jié)人》課課練含答案
- 壓瘡診療與護(hù)理規(guī)范
- 錦鯉中國風(fēng)鯉魚吉祥好運(yùn)通用大氣PPT模板
- 燃?xì)鈽I(yè)務(wù)代辦授權(quán)書模板
- 侵襲性肺部真菌感染的診斷標(biāo)準(zhǔn)以及治療基本原則
- 與齒輪相關(guān)的英語詞匯總結(jié)
- 單層鋼結(jié)構(gòu)工業(yè)廠房縱向定位軸線的定位
- 粉體工程第六章粉碎過程及設(shè)備
- 洪水計(jì)算(推理公式法)
評論
0/150
提交評論