java web程序設(shè)計(jì)教程課后答案_第1頁
java web程序設(shè)計(jì)教程課后答案_第2頁
java web程序設(shè)計(jì)教程課后答案_第3頁
java web程序設(shè)計(jì)教程課后答案_第4頁
java web程序設(shè)計(jì)教程課后答案_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1章 web應(yīng)用開發(fā)簡介習(xí)題答案1web在組成上包括_和_兩部分。答案:服務(wù)器客戶端2談?wù)剬γ嫦驅(qū)ο蟮恼J(rèn)識。答案:面向?qū)ο髮⒁鉀Q的問題分解成各個(gè)對象,建立對象的目的不是為了完成一個(gè)步驟,而是為了描敘解決問題中的各個(gè)步驟中的行為。面向?qū)ο缶幊谭绞绞墙⒃诿嫦蜻^程編程方式基礎(chǔ)上,其最重要的改變在于面向?qū)ο缶幊讨校绦驅(qū)@被操作的對象來設(shè)計(jì),而不是操作本身。面向?qū)ο缶幊谭绞揭灶愖鳛闃?gòu)造程序的基本單位,具有封裝、抽象、繼承、多態(tài)性等特點(diǎn)。3介紹幾種常用的框架技術(shù)。答案:java中常用的框架。1strutsstruts是apache 基金會jakarta 項(xiàng)目組的一個(gè)開源項(xiàng)目,是一個(gè)基于sun

2、j2ee平臺的mvc框架,它將servlet和jsp標(biāo)簽作為實(shí)現(xiàn)自身功能的一部分。2webworkwebwork是由opensymphony組織開發(fā)的,是一個(gè)基于web的mvc框架。它在運(yùn)行時(shí)通過interceptor(攔截器)自動(dòng)應(yīng)用,因此脫離了action類。3struts 2struts 2是apache基金會的一個(gè)開源項(xiàng)目,它建立在struts框架與webwork框架基礎(chǔ)之上,繼承了二者的優(yōu)點(diǎn),是目前非常流行的一個(gè)web框架。4springspring是一個(gè)以ioc和aop為核心的輕量級容器框架。它提供了一系列的java ee開發(fā)解決方案,包括表示層的spring mvc、持久層的sp

3、ring jdbc以及業(yè)務(wù)層事務(wù)管理等眾多的企業(yè)級應(yīng)用技術(shù)。5hibernatehibernate是一個(gè)orm(對象關(guān)系映射)框架,它對jdbc進(jìn)行了輕量級的封裝。通過使用hibernate框架,開發(fā)人員能夠以面向?qū)ο蟮乃季S方式來操作數(shù)據(jù)庫。6ibatis相對于hibernate而言,ibatis是一個(gè)“半自動(dòng)化”的orm實(shí)現(xiàn)框架,它主要致力于pojo與sql之間的映射關(guān)系,是對“全自動(dòng)化”orm框架的一種有益補(bǔ)充。7easyjwebeasyjweb是一個(gè)核心基于模板技術(shù)實(shí)現(xiàn)的mvc框架,主要致力于java web應(yīng)用程序的快速開發(fā)。4ide的用途是什么?答案:ide是一種用于輔助開發(fā)人員開發(fā)

4、應(yīng)用程序的應(yīng)用軟件,它一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具,有的還包括版本控制系統(tǒng)、性能分析器等更多工具,因此ide也就具有了編寫、編譯、調(diào)試等多種功能。正是基于這些功能,使用ide能夠減少項(xiàng)目的開發(fā)周期,減輕程序員的工作量,提高應(yīng)用程序的開發(fā)效率等。5web應(yīng)用服務(wù)器的用途是什么?web應(yīng)用服務(wù)器是為創(chuàng)建、部署、運(yùn)行以及管理web應(yīng)用提供多種運(yùn)行時(shí)服務(wù)(如事務(wù)、安全等等)的分布式系統(tǒng),它是應(yīng)用程序運(yùn)行的一個(gè)基本環(huán)境。第2章 java ee運(yùn)行及開發(fā)環(huán)境習(xí)題答案1配置jdk環(huán)境變量時(shí),需要編輯_變量,需要新增_變量和_變量。答案:pathjava_homeclasspath2t

5、omcat的啟動(dòng)和停止程序位于其安裝路徑的_文件夾中。答案:bin3tomcat中_文件用于配置服務(wù)器端口連接等信息。答案:server.xml4在myeclipse中,打開myeclipse-_-tomcat結(jié)點(diǎn),選擇tomcat6.0結(jié)點(diǎn),進(jìn)入tomcat6.0配置界面。答案:servers5以下三個(gè)選項(xiàng),_用于工程的發(fā)布。312答案:1第3章 jsp和servlet習(xí)題答案(1)jsp的九個(gè)內(nèi)置對象分別為_,_,_,_,_,_,_,_,_。答案:request對象response對象session對象out對象page對象application對象pagecontext對象config對

6、象exception對象(2)畫出jsp的工作原理圖?答案:jsp的工作原理圖:(3)page指令的作用?答案:page指令用于定義jsp頁面中的全局屬性。(4)jsp:usebean指令的作用?答案:jsp:usebean指令用來在jsp頁面內(nèi)創(chuàng)建一個(gè)javabean實(shí)例。(5)元素的作用?答案:元素用于要求服務(wù)器啟動(dòng)時(shí)就加載和初始化servlet。(6)舉一個(gè)聲明的例子。第4章 sql與jdbc習(xí)題答案1簡述sql的組成部分。答案:sql語言由以下3部分組成,分別是:l 數(shù)據(jù)庫模式定義語言(ddl):create、drop、alter等語句。l 數(shù)據(jù)操縱語言(dml):insert、upd

7、ate、delete、select語句。l 數(shù)據(jù)控制語言:grant、revoke、commit、rollback等語句。2簡述jdbc的執(zhí)行步驟。答案:(1)加載jdbc驅(qū)動(dòng)程序通過靜態(tài)類class類加載數(shù)據(jù)庫驅(qū)動(dòng)。(2)取得數(shù)據(jù)庫連接通過drivermanager類中的getconnection()獲取數(shù)據(jù)庫的連接對象connection(3)執(zhí)行各種sql語句將connection對象轉(zhuǎn)換成statement對象,通過該對象的executeupdate()執(zhí)行添加、修改以及刪除的sql語句。(4)獲取查詢結(jié)果將connection對象轉(zhuǎn)換成statement對象,通過該對象的execut

8、equery()執(zhí)行查詢的sql語句,該方法返回resultset對象。(5)關(guān)閉數(shù)據(jù)庫連接通過connection對象的close()方法關(guān)閉數(shù)據(jù)庫連接,并拋出異常。3statement對象可以處理哪些類型的sql語句,處理這些sql語句的主要方法是什么?答案:statement接口的executeupdate(string sql)方法將執(zhí)行添加(insert)、修改(update)和刪除(delete)的sql語句,執(zhí)行成功后,將返回一個(gè)int型數(shù)值,該數(shù)值為影響數(shù)據(jù)庫記錄的行數(shù)。該接口還可以通過executequery()方法查詢的sql語句。4preparedstatement對象可

9、以處理哪些類型的sql語句,處理這些sql語句的主要方法是什么?答案:preparedstatement接口的executeupdate(string sql)方法將執(zhí)行添加(insert)、修改(update)和刪除(delete)的sql語句,執(zhí)行成功后,將返回一個(gè)int型數(shù)值,該數(shù)值為影響數(shù)據(jù)庫記錄的行數(shù)。該接口還可以通過executequery()方法查詢的sql語句。5callablestatement對象可以處理哪些類型的sql語句,處理這些sql語句的主要方法是什么?答案:callablestatement接口的executeupdate(string sql)方法將執(zhí)行添加(i

10、nsert)、修改(update)和刪除(delete)的數(shù)據(jù)庫的存儲過程,執(zhí)行成功后,將返回一個(gè)int型數(shù)值,該數(shù)值為影響數(shù)據(jù)庫記錄的行數(shù)。該接口還可以通過executequery()方法查詢的數(shù)據(jù)庫存儲過程。6在sql server數(shù)據(jù)庫系統(tǒng)中,創(chuàng)建一個(gè)數(shù)據(jù)庫,并且在該數(shù)據(jù)庫下創(chuàng)建學(xué)生信息表,含有學(xué)生的基本信息,并通過jdbc實(shí)現(xiàn)對該數(shù)據(jù)表內(nèi)容實(shí)現(xiàn)添加、修改、刪除和查詢的操作。答案:jdbc的代碼如下:import java.sql.*;public class jdbconnection private final string dbdrive=com.mysql.jdbc.driver

11、;private final string url = jdbc:mysql:/localhost:3306/db_text?characterencoding=gb2312;private final string username = sa;private final string password = ;private connection con = null;public jdbconnection() /通過構(gòu)造方法加載數(shù)據(jù)庫驅(qū)動(dòng) try class.forname(dbdrive).newinstance(); catch (exception ex) system.out.pr

12、intln(數(shù)據(jù)庫加載失敗); public boolean creatconnection() /創(chuàng)建數(shù)據(jù)庫連接 try con = drivermanager.getconnection(url, username, password); con.setautocommit(true); catch (sqlexception e) return true; public boolean executeupdate(string sql) /對數(shù)據(jù)表的增加、修改和刪除的操作 if (con = null) creatconnection(); try statement stmt = co

13、n.createstatement(); int icount = stmt.executeupdate(sql); system.out.println(操作成功,所影響的記錄數(shù)為 + string.valueof(icount); return true; catch (sqlexception e) return false; public resultset executequery(string sql) /對數(shù)據(jù)庫的查詢操作 resultset rs; try if (con = null) creatconnection(); statement stmt = con.creat

14、estatement(); rs = stmt.executequery(sql); return null; catch (exception e) return null; return rs; public void closeconnection()/關(guān)閉數(shù)據(jù)庫連接 if(con=null) try con.close(); catch (sqlexception e) 將mysql數(shù)據(jù)庫驅(qū)動(dòng)的類包加載在工程中后,讀者可以通過上代碼,調(diào)用相應(yīng)的方法,實(shí)現(xiàn)對學(xué)生信息表進(jìn)行各種操作。第5章 struts 2框架入門習(xí)題答案1簡單介紹mvc設(shè)計(jì)模式。答案:mvc英文為model-view-c

15、ontroller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照model、view、controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成3個(gè)層:模型層、視圖層和控制層,從而可以使同一個(gè)應(yīng)用程序使用不同的表現(xiàn)形式。2簡單介紹struts 2的工作流程。答案:struts 2框架的基本工作流程如下圖所示:struts 2工作流程圖對struts 2工作流程的詳細(xì)說明如下:(1)客戶端初始化一個(gè)指向web容器(例如tomcat)的請求。(2)請求經(jīng)過一系列的過濾器(filter)的過濾并傳遞給filterdispatcher。(3)filterdispatcher接收到請求信息后,會根據(jù)url在act

16、ionmapper中搜索指定action的映射信息。(4)如果找到符合的映射信息,actionproxy通過configuration manager在配置文件“struts.xml”中搜索被請求的action類。(5)actionproxy創(chuàng)建一個(gè)被請求action的實(shí)例,該實(shí)例將用來處理請求信息。(6)如果在“struts.xml”文件中存在與被請求action相關(guān)的攔截器配置,那么該action的實(shí)例被調(diào)用的前后,這些攔截器也會先被執(zhí)行。(7)action對請求處理完畢以后返回一個(gè)邏輯視圖,由此邏輯視圖尋找對應(yīng)的物理視圖(可以是jsp、velocity模板、freemarker模板等),

17、并返回給客戶端。3在創(chuàng)建action類時(shí),需要注意哪些方面?答案:在struts 2中,action可以以多種形式存在:普通的java類、實(shí)現(xiàn)action接口和繼承actionsupport類。在action類中通常包含以下內(nèi)容:l 無參數(shù)的execute()方法:用于處理用戶請求。l 私有屬性及其屬性的set、get方法:action類中封裝http請求參數(shù),因此私有屬性的名稱應(yīng)和http請求參數(shù)的名稱保持一致;程序通過屬性的set、get方法來處理請求參數(shù),所以必須提供屬性的set、get方法。4使用不同的結(jié)果類型時(shí),需要如何配置?答案:在struts 2應(yīng)用程序中,所有的action類在

18、處理完成之后返回的都是一個(gè)字符串類型的結(jié)果,這個(gè)結(jié)果作為一個(gè)邏輯視圖而存在。struts 2框架正是通過這個(gè)字符串,在“struts.xml”配置文件中將邏輯視圖與物理視圖建立起映射關(guān)系,而這一實(shí)現(xiàn)是由元素來聲明的。元素的type屬性用于指定結(jié)果的類型,而且默認(rèn)情況下為jsp文件。當(dāng)需要使用不同的結(jié)果類型時(shí),將type屬性的值設(shè)置為相應(yīng)的結(jié)果類型即可。 5“struts.xml”文件中元素都有哪些屬性?作用是什么?答案:元素用來配置action,它包含的屬性如下表所示:屬性名稱是否必須功能描述name是請求的action名稱class否action處理類對應(yīng)具體路徑method否指定actio

19、n中的方法名converter否指定action使用的類型轉(zhuǎn)換器第6章 struts 2進(jìn)階習(xí)題答案1 如何部署和添加攔截器?答案:使用元素的子元素引入指定的攔截器,在引入時(shí)需指定該攔截器的名稱及其實(shí)現(xiàn)類。下面是部署攔截器的示例代碼: 使用元素的子元素加入所需攔截器。下面是添加攔截器的示例代碼:/success.jsp2 繼承類_或類_可實(shí)現(xiàn)自定義類型轉(zhuǎn)換器。答案:defaulttypeconverterstrutstypeconverter3 在使用元素時(shí),通過_元素來引入要使用的校驗(yàn)器。答案:4 在struts 2應(yīng)用中如何實(shí)現(xiàn)國際化?答案:實(shí)現(xiàn)國際化的步驟:(1)創(chuàng)建國際化資源文件,例如

20、sunyang_zh_cn.properties、sunyang_en_us.properties。(2)在資源文件中添加需要國際化的內(nèi)容,例如hello=你好hello=hello(3)配置國際化資源文件,可將資源文件配置為全局范圍、包范圍或action范圍。(4)調(diào)用國際化資源文件,在應(yīng)用中使用不同的方式來獲得國際化資源信息。5 在struts 2應(yīng)用中如何實(shí)現(xiàn)文件上傳?答案:實(shí)現(xiàn)文件上傳的步驟:(1)如果需要,在perties文件中重新配置上傳解析器。(2)在action類中封裝與上傳文件相關(guān)的屬性,例如:public class uploadaction exten

21、ds actionsupport private string title;/ 上傳文件標(biāo)題private file pic;/ 上傳文件private string piccontenttype;/ 上傳文件類型private string picfilename;/ 上傳文件名private string savepath;/ 上傳文件保存路徑public void setsavepath(string savepath) this.savepath = savepath;/ 返回文件上傳路徑private string getsavepath() httpservletrequest r

22、equest = servletactioncontext.getrequest();return request.getrealpath(savepath);/省略其他屬性的set、get方法public string execute() throws exception setsavepath();/ 將上傳文件存儲路徑設(shè)為空fileoutputstream fos = new fileoutputstream(getsavepath() + + getpicfilename();/ 以上傳文件存放路徑和原文件名建立一個(gè)輸出流fileinputstream fis = new filein

23、putstream(getpic();/ 以上傳文件建立一個(gè)輸入流byte buffer = new byte1024;int len = 0;while (len = fis.read(buffer) 0) fos.write(buffer, 0, len);/ 將上傳文件寫入到輸出流所對應(yīng)的文件中return success;(3)將用于實(shí)現(xiàn)文件上傳的action類進(jìn)行相關(guān)的配置,配置方式和普通的action類相同。第7章 struts 2中應(yīng)用模板語言習(xí)題答案1velocity中屬性引用的賦值方式都有哪些?。答案:velocity中屬性引用的賦值方式有兩種:l 使用hashtable對象

24、賦值。l 使用方法賦值。2簡述幾種velocity的指令及其用法。答案:下面是幾種常見的velocity指令:l set指令:給引用賦值。l 使if/elseif/else指令:類似于java語言中的ifelseifelse指令,可進(jìn)行條件控制。l set指令:給引用賦值。l foreach指令:進(jìn)行遍歷循環(huán)。l macro指令:用來定義宏。3簡述freemarker的宏指令及其用法?答案:在freemarker中,宏是一個(gè)用戶自定義指令,定義完宏后就可以在模板中用來使用宏。宏是使用macro指令來定義的。例如使用下面的代碼定義宏:書的名字:$bookname使用下面的代碼在模板中使用宏:書的

25、名字:$bookname4在freemarker中如何格式化數(shù)字?答案:在freemarker中可使用#expre;format這種形式格式化數(shù)字,其中的format使用mn或mn表示,mn代表小數(shù)部分最小n位,mn代表小數(shù)部分最大n位。5使用velocity模板在控制臺輸出一本圖書的相關(guān)信息。實(shí)例內(nèi)容:在控制臺輸出圖書的id、圖書的名稱、圖書的作者、圖書的價(jià)格、圖書的出版社、圖書的 出版日期,要求使用方法賦值的方式給各個(gè)屬性賦值。答案:(1)創(chuàng)建一個(gè)java工程,名稱為booksys,導(dǎo)入工程所需的jar文件velocity-dep-1.5.jar。(2)在工程下創(chuàng)建模板文件showbook

26、info.vm,該模板文件可輸出圖書的相關(guān)信息,模板文件的代碼如下:圖書id: $book.bookid圖書名稱:$book.bookname圖書作者:$book.bookauthor圖書價(jià)格:$book.bookprice出版社: $book.bookcencern出版日期:$book.bookdate(3)在工程的sunyang包下創(chuàng)建一個(gè)類book.java,該類為一個(gè)javabean,代表圖書的相關(guān)信息。類book的代碼如下:public class book private int bookid; /id號private string bookname; /書名private str

27、ing bookauthor; /作者private double bookprice; /價(jià)格private string bookcencern; /出版社private string bookdate; /出版日期public int getbookid() return bookid;public void setbookid(int bookid) this.bookid = bookid;public string getbookname() return bookname;public void setbookname(string bookname) this.bookname

28、 = bookname;public string getbookauthor() return bookauthor;public void setbookauthor(string bookauthor) this.bookauthor = bookauthor;public double getbookprice() return bookprice;public void setbookprice(double bookprice) this.bookprice = bookprice;public string getbookcencern() return bookcencern;

29、public void setbookcencern(string bookcencern) this.bookcencern = bookcencern;public string getbookdate() return bookdate;public void setbookdate(string bookdate) this.bookdate = bookdate;(4)在工程的sunyang包下創(chuàng)建一個(gè)類bookvelocity.java,該類用來給模板提供值。類bookvelocity的代碼如下:import java.io.stringwriter;import org.apac

30、he.velocity.velocitycontext;import org.apache.velocity.app.velocity;public class bookvelocitypublic static void main(string args) try velocity.init();/初始化velocity引擎 catch (exception e) e.printstacktrace();velocitycontext context = new velocitycontext();/ 初始化velocity上下文book book=new book();/給book屬性賦值

31、 book.setbookid(200803);book.setbookname(jsp教程);book.setbookauthor(sunyang);book.setbookprice(53.2);book.setbookcencern(xx出版社);book.setbookdate(2008-02-03);context.put(book, book);/將book對象放入velocity上下文中stringwriter writer = new stringwriter();try /把模板和上下文結(jié)合起來velocity.mergetemplate(showbookinfo.vm, g

32、bk, context, writer); catch (exception e) e.printstacktrace();system.out.println(writer.tostring();/控制臺上輸出(4)運(yùn)行程序,控制臺上的輸出結(jié)果如下圖所示:6使用freemarker編寫一個(gè)用戶登錄實(shí)例。實(shí)例內(nèi)容:當(dāng)用戶在登錄頁面中沒有輸入任何信息就登錄時(shí),提示用戶需要輸入用戶名和密碼方可登錄,若用戶輸入錯(cuò)誤的用戶名或密碼,提示用戶輸入的用戶名或密碼錯(cuò)誤,若用戶輸入正確的用戶名和密碼,登錄成功,頁面跳轉(zhuǎn)到歡迎用戶登錄頁面。(1)創(chuàng)建一個(gè)web工程,名稱為login,導(dǎo)入工程所需的jar文件,(

33、2)在webroot下新建一個(gè)文件夾freemarker,在freemarker創(chuàng)建模板文件login.ftl、welcome.ftl和error.ftl,其中l(wèi)ogin.ftl為用戶登錄頁面,welcome.ftl為歡迎頁面,error.ftl為登錄失敗頁面。login.ftl的代碼如下: 登錄頁面用戶登錄用戶名密碼welcome.ftl的代碼如下: 歡迎頁面歡迎你:$usernameerror.ftl的代碼如下: 失敗頁面$message(3)在工程的sunyang包下創(chuàng)建一個(gè)servlet類loginfreemarker.java,該servlet類用來進(jìn)行用戶登錄判斷,若用戶登錄成功,

34、頁面則轉(zhuǎn)向歡迎頁面,否則轉(zhuǎn)向登錄失敗頁面,類 loginfreemarker的代碼如下:import java.io.ioexception;import java.io.writer;import java.util.hashmap;import java.util.map;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletres

35、ponse;import freemarker.template.configuration;import freemarker.template.template;import freemarker.template.templateexception;public class loginfreemarker extends httpservlet private configuration configuration;/初始化freemarker配置 public void init() configuration = new configuration();/ 創(chuàng)建configurati

36、on實(shí)例configuration.setservletcontextfortemplateloading(getservletcontext(),freemarker);/ 指定模板的位置在freemarker目錄下protected void doget(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception dopost(req, resp);protected void dopost(httpservletrequest req, httpservletresponse

37、resp)throws servletexception, ioexception map data = new hashmap();/ 建立數(shù)據(jù)模型string username=req.getparameter(username);string password=req.getparameter(password);template t=null;if(username.equals(sunyang)&password.equals(123456)data.put(username, username);/將用戶信息放入數(shù)據(jù)模型中 t = configuration.gettemplate

38、(welcome.ftl);/ 加載模板文件else/將提示信息放入數(shù)據(jù)模型中data.put(message, 輸入的用戶名或密碼錯(cuò)誤); t = configuration.gettemplate(error.ftl);/ 加載模板文件/在頁面里使用模板的charset,/使用text/html mime-typeresp.setcontenttype(text/html; charset= + t.getencoding();writer out = resp.getwriter();try cess(data, out);/將數(shù)據(jù)傳向模板,處理并輸出數(shù)據(jù) catch (tem

39、plateexception e) e.printstacktrace();(4)在web.xml中配置loginfreemarker,配置的代碼如下:web-app version=2.5 xmlns=xmlns:xsi=/2001/xmlschema-instancexsi:schemalocation= loginfreemarkersunyang.loginfreemarkerloginfreemarker/freemarker/login(5)發(fā)布并運(yùn)行程序,登錄頁面的界面如下圖所示:如果用戶輸入錯(cuò)誤的用戶名和密碼,單擊【登錄】按鈕則顯示如下圖所示的界

40、面:如果用戶輸入的用戶名和密碼正確,則顯示如下圖所示的界面:第8章 初識hibernate框架習(xí)題答案1什么是orm?答案:orm就是對象關(guān)系映射。其中的“o”代表的就是對象(object),“r”代表的是關(guān)系“relation”,m代表的是映射“mapping”。其原理就是將對象與表、對象的屬性與表的字段分別建立映射關(guān)系。2hibernate有那些配置文件?這些配置文件都使用什么語法配置?答案:hibernate有兩個(gè)配置文件。一個(gè)配置文件是hibernate.cfg.xml,使用xml語法來配置數(shù)據(jù)庫連接等信息,或者perties,使用名稱=值的形式配置。hibe

41、rnate的另一個(gè)配置文件是映射文件,用來經(jīng)數(shù)據(jù)表中的字段信息映射項(xiàng)目中創(chuàng)建的持久化的屬性信息。這樣才能使用hibernate的orm機(jī)制,操作持久化類對象屬性的同時(shí)就可以對數(shù)據(jù)中的數(shù)據(jù)進(jìn)行更改。3簡述在hibernate中使用的映射關(guān)系類型。答案:映射關(guān)系類型如下表所示:數(shù)據(jù)表字段類型java數(shù)據(jù)類型hibernate映射類型intint、java.lang.integerintegertinyintbyte、java.lang.bytebytesmallintshort、java.lang.shortshortbigintlong、java.lang.longlongtinyintbyte

42、、java.lang.bytebytebigintlong、java.lang.longlongfloatfloat、java.lang.floatfloatdoubledouble、java.lang.doubledoublenumericjava.math.bigdecimalbig_decimalcharchar、java.lang.charactercharacterclobjava.lang.stringtextvarcharjava.lang.stringstringjava.lang.classclassjava.util.localelocalejava.util.timezo

43、netimezonejava.util.currencycurrencybitboolean、java.lang.booleanbooleandatejava.util.date、java.sql.datedatejava.util.calendarcalendar_datetimejava.util.date、java.sql.timetimetimestampjava.util.date、java.sql.timestamptimestampjava.util.calendarcalendarvarbinary、blobbytebinaryjava.io.serializableseria

44、lizableclobjava.sql.clobclobjava.sql.blobblob4hibernate中用于開始使用hibernate的入口配置類是什么?入口類是configuration,該類用來讀取hibernate的配置文件并實(shí)例化sessionfactory對象等。該類的實(shí)例化代碼如下。使用屬性文件配置hibernate時(shí):configuration config=new configuration();使用配置文件配置hibernate時(shí):configuration config=new configuration().configrue();5hibernate中的關(guān)聯(lián)關(guān)系

45、都有哪些?實(shí)體之間通過關(guān)系來相互關(guān)聯(lián),關(guān)系之間有一對一(1:1)、一對多(1:n)和多對多(n:m)的關(guān)系。第9章 hibernate查詢習(xí)題答案1 hibernate中的檢索策略分為:_,_,_,_。答案:立即檢索延遲檢索預(yù)先檢索批量檢索2 請簡述hibernate中的查詢方式以及它們分別在什么樣的場合下使用。答案:l hql:適用于較多的靜態(tài)檢索時(shí)。l qbc:適用于動(dòng)態(tài)條件檢索時(shí)。l 原生sql:適用于通過sql才可以進(jìn)行檢索的特殊數(shù)據(jù)庫時(shí)。3 請簡述hibernate一對多關(guān)聯(lián)查詢時(shí)應(yīng)該注意的問題?!耙弧钡囊环饺绾闻渲茫岸唷钡囊环饺绾闻渲?。答案:hibernate的一對多關(guān)聯(lián)時(shí),必須

46、正確的配置屬性和數(shù)據(jù)庫的主外鍵,否則hibernate的不能進(jìn)行關(guān)聯(lián)查詢。hibernate中對這種一對多,多對一的處理方式為,使用,元素來實(shí)現(xiàn)。關(guān)系實(shí)體中的“一”的配置:首先在持久化類bookinfovo中定義關(guān)聯(lián)表的外鍵bookno,定義的屬性使用set類型,同時(shí)需要實(shí)例化,代碼為:private set bookno =new hashset();同時(shí)要生成該對象的getter和setter方法。在配置文件中通過元素來配置,配置的詳細(xì)代碼為。標(biāo)簽中的name:配置的就是在持久化類中配置的set類型的bookno;:該標(biāo)簽配置的是關(guān)聯(lián)表的外鍵。:標(biāo)簽配置的是一對多關(guān)系中關(guān)聯(lián)的多的一方的持久化類的全路徑。“多”的配置:首先在持久化類bookno中配置“一”的持久化類類型的對象,不需要實(shí)例化。代碼如下,同時(shí)生成該對象的getter和setter

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論