Java Web之三大框架试题(SSH)
- 格式:doc
- 大小:187.50 KB
- 文档页数:24
ssh框架期末试题及答案以下是基于题目给出的要求的文章正文:SSH框架期末试题及答案一、概述SSH框架是指由Struts、Spring和Hibernate三个开源框架组合而成的一种企业级Java应用开发架构。
它能够有效地整合Web层、业务层和持久层,提供了一种全面且高效的开发方式。
本文将为您呈现SSH框架期末试题及答案,帮助您复习和巩固对该框架的理解。
二、试题部分1. 简述SSH框架的组成和作用。
答:SSH框架由Struts、Spring和Hibernate三个开源框架组合而成。
Struts负责处理Web请求和页面跳转,Spring负责管理对象的创建和依赖注入,Hibernate负责数据库持久化操作。
SSH框架能够有效地整合这三个框架,提供了一种分层架构的开发方式,使得开发人员能够更加专注于业务逻辑的实现,提高了开发效率和代码的可维护性。
2. 请说明Struts、Spring和Hibernate框架各自的优势和适用场景。
答:Struts框架主要用于处理Web层的请求和页面跳转,其优势在于对MVC设计模式的良好支持和强大的页面标签库,适用于开发需要页面交互和跳转的Web应用。
Spring框架是一个轻量级的Java开发框架,可以方便地集成各种第三方框架和库。
它的优势在于依赖注入和面向切面编程的支持,简化了开发流程,提高了代码的可测试性和可维护性。
Spring框架适用于各种类型的Java应用开发。
Hibernate框架是一个强大而成熟的对象关系映射框架,提供了方便的CRUD操作和数据库事务管理。
它的优势在于使用面向对象的方式操作数据库,屏蔽了底层SQL语句的细节。
Hibernate框架适用于需要操作数据库的应用程序。
3. 请简述SSH框架的工作原理。
答:SSH框架的工作原理可以分为以下几个步骤:- 客户端发起HTTP请求,请求到达前端控制器(通常是Struts的ActionServlet)。
- 前端控制器根据请求URL的映射规则,将请求转发给具体的Action处理。
ssh框架面试题在现代软件开发中,SSH(Struts + Spring + Hibernate)框架已经成为了非常流行的一种组合。
这三个框架分别代表了Web层、业务层和数据层的技术,并且彼此之间能够很好地配合使用。
无论是在企业级应用系统还是个人项目中,使用SSH框架都能够带来很多优势。
在面试中,对于SSH框架的问题的掌握程度往往会成为评价一个开发人员水平的重要指标。
下面,我们将介绍一些常见的SSH框架面试题以及它们的回答。
1. 什么是SSH框架?SSH框架是由Struts、Spring和Hibernate三个开源框架组合而成的。
Struts用于处理Web层的请求,Spring作为业务层和数据层的框架,而Hibernate则用于处理数据库操作。
2. Struts的核心组成部分有哪些?Struts的核心组成部分主要包括:- Action:处理来自用户的请求,并将其传递给其他组件处理。
它是整个Struts框架中的控制器。
- ActionForm:用于封装用户请求的数据,同时也可以用于向用户展示数据。
在与数据库交互时,一般会使用JavaBean来代替ActionForm。
- ActionMapping:将URL映射到相应的Action类。
- ActionForward:将处理结果返回给用户,包括转发到其他页面或重定向到其他URL等方式。
3. Spring框架有哪些主要特点?Spring框架的主要特点包括:- IoC(Inversion of Control,控制反转):通过将对象的创建、依赖注入和生命周期管理交给Spring容器来实现对象间的解耦,提高了代码的可测试性。
- AOP(Aspect-Oriented Programming,面向切面编程):通过将业务逻辑划分为模块化的切面,可以实现横切关注点的复用,并在不修改原有代码的情况下新增功能。
- 声明式事务管理:通过声明式的方式来管理事务,减少了手动管理事务的复杂性。
ssh框架面试题1. 什么是SSH框架?SSH框架是一种软件开发架构,由Struts、Spring和Hibernate三个开源框架共同组成。
框架的名字来源于Struts与Spring的首字母和Hibernate的音译。
•Struts是一个MVC框架,用于处理Web页面的请求和响应。
•Spring是一个IoC容器和AOP框架,用于管理各种组件的创建和依赖注入。
•Hibernate是一个ORM框架,用于处理对象与数据库的映射关系。
SSH框架的优势在于它们能够相互补充,提供全面的解决方案,简化开发流程,提高开发效率。
2. SSH框架的特点有哪些?SSH框架具有以下特点:(1) 分层架构SSH框架采用分层架构,将整个软件系统划分为多个层次,包括表示层、业务逻辑层和数据访问层。
这种架构可以提高代码的可维护性和复用性,使系统更加灵活和易于扩展。
(2) 基于约定的编程SSH框架采用一些默认约定来简化开发过程。
例如,Struts框架默认会将请求参数自动绑定到Action的属性上,Spring框架默认使用注解扫描来管理Bean的创建和依赖注入,Hibernate框架默认使用映射文件来处理对象与数据库表之间的映射关系。
(3) 松耦合设计SSH框架通过依赖注入和面向接口编程等方式实现松耦合设计。
Struts和Spring框架使用依赖注入将不同组件之间解耦,而Hibernate框架使用接口和抽象类来定义通用的数据库操作API,降低了代码的耦合性,提高了软件的可维护性和可测试性。
(4) 强大的功能扩展性SSH框架提供了丰富的插件和扩展点,可以根据项目的需求进行灵活的功能扩展。
例如,Struts框架可以通过自定义拦截器来处理一些通用的功能,Spring框架可以通过编写切面来实现横切关注点的处理,Hibernate框架可以通过自定义的事件监听器来处理对象与数据库的操作。
(5) 成熟的社区支持SSH框架是开源软件,拥有庞大而活跃的社区,提供了大量的文档、教程和示例代码,开发者可以通过社区获取帮助和解决问题。
ssh试题测试卷(java)一、选择题(60分)1) 在Struts实现的MVC框架中,(a)类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程。
a) Actionb) EJBc) ActionServletd) JSP2) 在基于Struts框架的Web应用中,下面关于Action 类的说法正确的是(c)。
a) Action类属于模型组件b) Action类主要用来完成实际的业务逻辑c) Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程d) 在Web应用启动时会自动加载所有的Action实例3) 在基于Struts框架的Web应用中,下面关于ActionForm Bean的说法正确的是(b)。
a) ActionForm Bean用来完成一些实际的业务逻辑b) Struts框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递c) ActionForm负责调用模型的方法,更新模型的状态d) ActionForm Bean包含一些特殊的方法,reset()用于验证表单数据validate()将其属性重新设置为默认值4) 分析Action Bean的execute方法:public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {ActionErrors errors=new ActionErrors();if(!udao.check(loginform)){errors.add("login", newActionMessage("error.login"));returnmapping.findForward("failure");}}完成以上的功能,应在下划线上填入(c)。
Java面试题专题之SSH框架1、写出你熟悉的开源框架以及各自的作用(项目中为什么使用SSH)答:框架:hibernate,spring,struts1/struts2.Hibernate主要用于数据持久化;封装了JDBC操作;还提供了一个易用的、高效率的对象关系映射框架;Spring 的控制反转能起到解耦合的作用;Struts 主要用于请求处理的流程控制;struts是基于MVC模式的,很好的将应用程序进行了分层,使开发者更关注于业务逻辑的实现;struts有着丰富的taglib,如能灵活运用,则能大大提高开发效率。
Struts(表示层)+Spring(业务层)+Hibernate(持久层)struts相关2、简述STRUTS架构(说下Struts的工作流程、struts的工作原理)简述:Struts是采用Java Servlet/JavaServer Pages技术,开发Web 应用程序的开放源码的framework。
采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
Struts有如下的主要功能:一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。
二.JSP自由tag库,并且在controller servlet 中提供关联支持,帮助开发员创建交互式表单应用。
三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans 属性、国际化的提示和消息。
流程:在web应用启动时就会加载初始化ActionServlet,ActionServlet 从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象当ActionServlet接收到一个客户请求时,将执行如下流程.(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP 组件;(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;3、Struts对MVC的体现M: 在Struts中,模型由JavaBean和EJB组件组成,用来实现程序的业务逻辑部分.C: ActionServlet,RequestProcessor和Struts辅助类来实现控制器。
Java 考试笔试试卷1) 1)下列关于package元素中说法正确的是()。
(选择一项)a) a)name 属性为必需的并且是唯一的,用来指定包得名称<.package name=””>属性为必须的并且是唯一的,用来指定包的名称b) b)extends属于是一个可选属性,定义了包的命名空间c) c)namespace是指要扩展的命名空间d) d)package元素中只能包含一个Action配置2) Hibernate 中实体类对象的状态不包括()。
(选择一项)a) 瞬时状态b) 持久状态c) 查询状态d) 游离状态3) 关于Web服务遵循的标准技术,下面错误的是()。
(选择一项)a) XMLb) SOAPc) WSDLd) HTML4) 在Oracle 数据库中在使用序列时,需要使用到序列的哪些伪列()。
(选择二项)a) nextvalb) nextvaluec) currvald) currvalue5) 以下关于Struts2的配置内容应该在哪个配置文件中编写()。
<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAdnExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</utl-pattern></filter-mapping>(选择一项)a) struts-defalut.xmlb) struts.xmlc) web.xmld) filter.xml6) 在Hibernate的ORM映射文件中包含:<class name=”er” table=”user”>,这一句中table属性的作用是().(选择一项)a) 指定表名b) 指定类名c) 指定数据库名d) 指定ORM映射文件名7) 以下选项中,关于依赖注入的描述正确的是()。
《基于SSH框架JA V A企业应用》复习题一、填空1、现阶段在JA V A WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts,Spring 和( Hibernate )。
2、( ActionServlet )从Struts配置文件中读取数据并初始化Struts应用程序的配置。
3、请求是在RequestProcessor类的( process() )方法中进行处理的。
4、Action的( execute() )方法用于处理请求。
5、( ActionForward )类告诉ActionServlet类有关动作链中的下一个动作。
6、Struts框架中的视图主要由( JSP页面)构成。
7、ActionForm的两种存在范围是:Request和( session )。
8、能在Struts配置文件中配置而不必创建类的Form是( DynaActionForm )。
9、Struts框架由很多java类构成,这些类分成( 8 )个核心包。
10、( validator )框架允许为Struts应用灵活的配置验证规则,无需编程。
11、Hibernate是一个基于JDBC的( 持久化)解决方案,是一个优秀的( 对象-关系映射)框架。
二、选择1.下面哪个是Struts控制器(A )A.AvtionServletB.ActionC.ActionFromD.Struts-Config.xml2.Struts控制器是根据( A)将请求转发给相应的Action处理.A.Struts-config.xmlB.applicationResourse.propertiesC.通过参数指定D.以上都是3.将中文转码的命令是( C )A.javaB.javacC.native2asciiD.jar4.Action类的execute方法代码如下,从前台页面访问当前Action的效果是( C).Public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){LoginForm loginForm=(LoginForm)form; return null;} A.500错误 B.404错误 C.空白页 D.空指针异常5.关于Action的说法,下列正确的是( C )A.Struts的Action类必须实现Acrion接口B.Struts的ActionServlet必须继承Action类C.Action类中必须要重写一个execute方法D.Action类中不一定要重写一个execute方法6.关于RequestProcessor说法,正确的是( A )A.RequestProcessor在控制层真正处理请求的B.由RequestProcessor接收所有.do的请求C.RequestProcessor也要实现execute方法D.RequestProcessor可以用来充当Action7.要通过RequestProcessor扩展Struts框架,最好覆盖那个方法( A )A.processPreprocessB.processC.processMappingD.processNoCache8.关于DispatchAction说法正确的是( A )A.DispatchAction能减少Action的数量B.DispatchAction的方法可以有任意类型的返回值C.DispatchAction也要实现execute方法D.DispatchAction的方法中只能有一个9.DispatchAction在配置文件中指定参数的属性是(B )A.scopeB.parameterD.path10.在Struts中显示错误提示信息,提示信息写在(B )A.资源文件中B.配置文件Struts-Config.xmlC.普通的文本文件中D.以上都可以11.在ActionForm中,(A )方法用来验证A.validateB.resetC.executeD.test12.下列说法正确的是( A )A.reset方法先于validate方法调用B.validate方法先于reset方法调用C.reset方法返回类型是booleanD.validate方法返回类型是boolean13.ActionForm的声明周期是(BC )(选两项)A.pageB.requestC.sessionD.application14.关于动态ActionForm说法错误的是( D )A.使用动态ActionForm能减少类的数量B.动态ActionForm的属性通过动态ActionForm的get方法获取C.动态ActionForm的属性不能为基本类型,必须为基本类型的包装类D.动态ActionForm的验证同样要实现validate方法15.DynaActionForm基类提供了(D )方法,它把表单的所有所有属性恢复为默认值.A.validateB.resetC.executeD.initialize16.StrutsBean的( A )标签将检索Web应用程序资源的结果.A.defineB.includeC.messageD.page17.StrutsBean 的( B )标签从已定义的资源包中检索带有键的值.A.defineB.messageC.parameterD.write18. ( A )标签检查Cookie、header、name、parameter或property属性之一指定的变量是否大于value属性指定的常量值.A.greaterThanB.greaterEqualC.greaterD.greatEqual19.( C )标签检查Cookie、header、name、parameter或property属性之一指定的变量是否在应用的范围内.A.messagesPresentB.messagesNotPresentC.presentD.notPresent20. ( A )标签检查Cookie、header、name、parameter或property属性之一指定的变量是否包含指定的常量值.A.matchB.noMatchC.messagesPresentD.messageNotPresent21.(B)充当缓冲区存放用户输入的数据的状态。
JA V A +SSH框架笔试题JA V A 面试题1、面向对象的特征有哪些方面2、String 和StringBuffer 的区别3、HashMap 和Hashtable 的区别。
4、forward 和redirect 的区别5、应用服务器有那些?6、说出数据连接池的工作机制是什么?7、try {}里有一个return 语句,那么紧跟在这个try 后的finally {}里的code 会不会被执行,什么时候被执行,在return 前还是后?8、编程题: 用最有效率的方法算出2乘以8等於几?9、当一个线程进入一个对象的一个synchronized 方法后,其它线程是否可进入此对象的其它方法?10、编程题: 写一个Singleton 出来。
11、请说出你所知道的线程同步的方法。
12、你所知道的集合类都有哪些?主要方法?13、多线程有几种实现方法, 都是什么? 同步有几种实现方法, 都是什么?14、JSP 的内置对象及方法。
15、servlet 的生命周期16、页面间对象传递的方法17、如何给weblogic 指定大小的内存?18、如何设定weblogic 的热启动模式(开发模式与产品发布模式?19、如何启动时不需输入用户名与密码?20、说说weblogic 中一个Domain 的缺省目录结构? 比如要将一个简单的helloWorld.jsp 放入任何目录下, 然后在浏览器上就可打入主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean 该如何办?21、如何在weblogic 中进行ssl 配置与客户端的认证配置或说说j2ee(标准进行ssl 的配置22、Servlet 执行时一般实现哪几个方法?23、JA V A 语言如何进行异常处理,关键字:throws,throw,try,catch,finally 分别代表什么意义?在try 块中可以抛出异常吗?24、MVC 的各个部分都有那些技术来实现? 如何实现?25、什么是java 序列化,如何实现java 序列化?26、jsp 有哪些动作? 作用分别是什么?Spring,Struts,Hibernate 面试题1. Hibernate工作原理及为什么要用?2.Hibernate 是如何延迟加载?3.Hibernate 中怎样实现类之间的关系?(如:一对多、多对多的关系4.说下Hibernate 的缓存机制5. Hibernate 的查询方式6.如何优化Hibernate ?7. Struts的设计模式 ? 为什么要使用Struts ?8. spring 工作机制?。
(问答题+选择题(在55页))Java工程师(程序员)面题Struts,Spring,Hibernate三大框架1.Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作6.提交事务7.关闭Session 8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。
他很大程度的简化DAO层的编码工作3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。
映射的灵活性很出色。
它支持各种关系数据库,从一对一到多对多的各种复杂关系。
2.Hibernate是如何延迟加载?1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection)2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)类与类之间的关系主要体现在表与表之间的关系进行操作,它们都是对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many4.Struts1流程:1、客户端浏览器发出HTTP请求。
2、根据web.xml配置,该请求被ActionServlet接收。
3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。
javaJavawebSSH框架面试题大全基础知识:1.C++或Java中的异常处理机制的简单原理和应用。
当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2种情况。
一种是JAVA类库内置的语义检查。
例如数组下标越界,会引发Inde某OutOfBoundE某ception;访问null的对象时会引发NullPointerE某ception。
另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。
所有的异常都是ng.Thowable的子类。
2.Java的接口和C++的虚类的相同和不同处。
由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。
与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。
当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是publictatic,所有方法默认情况下是public.一个类可以实现多个接口。
3.垃圾回收的优点和原理。
并考虑2种回收机制。
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。
由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
4.请说出你所知道的线程同步的方法。
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
Java 三大框架期末复习试题大学准备期末复习以及准备职业面试之用本资料有齐全的选择题,简单题,编程题;绝对实用;Hibernate部分一、单选题(共50题,每题2分)1.下面不属于持久化的是(a)。
A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来B.把程序数据从数据库中读出来C.从XML配置文件中读取程序的配置信息D.把程序数据保存为文件2.下面(a )不属于关系—对象映射的映射信息。
A.程序包名到数据库库名的映射B.程序类名到数据库表名的映射C.实体属性名到数据库表字段的映射D.实体属性类型到数据库表字段类型的映射3.下面(ab)不是Hibernate 映射文件中包含的内容。
(选两项)A.数据库连接信息B.Hibernate 属性参数C.主键生成策略D.属性数据类型4.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(d )。
public static void main(String[] args) {SessionFactory sf =new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Medal medal = new Medal();medal.setOwner("Shen Baozhi");medal.setSport("Table Tennis-Women's Singles");medal.setType("Gold Medal");session.save(user);session.close();}A.配置文件配置有误B.没有在配置文件中包含对映射文件的声明C.映射文件配置有误D.没有开启事务5.下列属于多对一关系的是(bd )。
(选两项)A.书和作者B.手机和生产厂家C.用户和发布的出租信息D.士兵和班长6.下面是某系统中的两个实体类,依此可以得知(b )。
public class Wage{ //月工资实体类private Long wid;private String empName; //雇员姓名private String month; //月份//Getter & Setter……}public class WageItem{ //工资项private Wage wage;private Long iid;private String itemName; //项目名称,如基本工资、职位津贴等private String amount; //数额//Getter & Setter……}A.Wage 和WageItem 间存在单向一对多的关联B.Wage 和WageItem 间存在单向多对一的关联C.Wage 和WageItem间存在双向一对多的关联D.Wage 和WageItem间存在双向多对一的关联7.两实体类代码如下:public class Wage{ //月工资实体类private Long wid;private String empName; //雇员姓名private String month; //月份//Getter & Setter……}public class WageItem{ //工资项private Wage wage;private Long iid;private String itemName; //项目名称,如基本工资、职位津贴等private String amount; //数额//Getter & Setter……}其中的WageItem 实体类有如下配置,其中空白处应填入的代码是(a)。
<class name="WageItem" table="fin_wage_item"<id name="iid" column="wi_id" type="ng.Long"><generator class="native" /></id><property name="itemName" column="wi_name"type="ng.String" /><property name="amount" column="wi_amount"type="ng.Double" /><!--配置wage 属性-->______________________</class>A.<many-to-one name="wage" column="wi_wage_id" class="Wage" />B.<one-to-many name="wage" column="wi_wage_id" class="Wage" />C.<set name="wage"><key column="wi_wage_id" /><one-to-many class="Wage" /></set>D.<set name="wage"><key column=" wi_wage_id" /><many-to-one class="Wage" /></set>8.已知系统中TBL_USER 表对应的实体类是TblUser,下列HQL 语句中正确的是()。
A.from Tbl_UserB.select * from tbluserC.select TblUser from TblUserD.from TblUser t where t.age= 159.对下面代码中存在的错误,说法不正确的是(d )。
String hql = "from TblUser u where u.status = @status ";//<1>Query query = session.createQuery();//<2>query.setNamedParameter(":status","");//<3>return query.executeQuery(hql);//<4>A.第一行中的命名参数“@status”应该是“:status”B.第二行createQuery 函数应该传入hql 作为参数C.第三行命名参数名称“:status”应该是“status”D.第四行应该是“return query.list(hql);”10.下面代码的执行效果是(c)。
String hql = "from TblStudent s order by s.score asc";Query query = session.createQuery(hql);query.setFirstResult(0);query.setMaxResults(5);return query.list();A.返回分数最高的五个学生B.返回分数最高的六个学生C.返回分数最低的五个学生D.返回分数最低的六个学生11.下面HQL语句的含义是(D)。
select stufrom TblStudent stuwhere stu.score > ( select avg(score) from TblStudent )A.查询所有学生的平均分B.查询得分大于平均分的学生的成绩C.查询得分最高的学生D.查询得分大于平均分的学生12.假设对Customer 类的orders 集合采用延迟检索策略,编译或运行以下程序,会出现(C )Session session=sessionFactory.openSession();Customer customer=(Customer)session.get(Customer.class,new Long(1));session.close();Iterator orderIterator=customer.getOrders().iterator();A.编译出错B.编译通过,并正常运行C.编译通过,但运行时抛出异常D. 运行时输出“session.open”13.选出不是Expression方法的选项(DA.eq()B.gt()C.like()D.isNULL()14.与下面代码效果相同的HQL 语句是(A )。
Criteria criteria = session.createCriteria(User.class);criteria.add(Restrictions.like("name","admin%"));List result = criteria.list();A.from User where name like 'admin%'B.from User where name like '%admin%'C.from name where Restrictions like 'admin%'D.select from Useras u where u. Restrictions like 'admin%'15.执行下面代码返回的结果为(A)。
Criteria criteria = session.createCriteria(User.class);criteria.addOrder(Order.desc("id"));List result = criteria.list();A.以id降序排列的User对象列表B.以id升序排列的User对象列表C.返回Order为id的User对象的列表D.不返回对象16.下面代码能够返回房屋表中第51行数据后的20 行数据的是(B )。