框架阶段测试卷选择题(共50题,每题2分,满分100分)1.选出不是Restrictions方法的选项(D )。
A.eq()B.gt()C.like()D.isNULL()2.已知系统中TBL_USER 表对应的实体类是TblUser,下列HQL 语句中正确的是(D )。
A.from Tbl_UserB.select * from tbluserC.select TblUser from TblUserD.from TblUser t where t.uname = "15"3.阅读下面的代码,要输出查询结果中第一条记录的用户名,正确的代码是(AD )。
String hql = "select u.uname, u.upass from TblUser u";Query query = session.createQuery(hql);A.Object[] arr = (Object[])query.list().iterator().next();System.out.println(arr[0]);B.TblUser user = (TblUser)query.list().get(0);System.out.println(user.getUname());C.String uname = (String)query.list().get(0).get(0);System.out.println(uname);D.String uname = (String)query.list().get(0)[0];System.out.println(uname);4.对下面代码中存在的错误,说法不正确的是(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);”5.下面代码的执行效果是(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.返回分数最低的六个学生6.下面HQL语句的含义是(D )。
select stufrom TblStudent stuwhere stu.score > ( select avg(score) from TblStudent )A.查询所有学生的平均分B.查询得分大于平均分的学生的成绩C.查询得分最高的学生D.查询得分大于平均分的学生7.以下(CD )利用了外联结查询。
A.立即加载B.延迟加载C.迫切左外联结查询D.迫切右外联接查询8.以下程序的打印结果是(C )。
Customer c1=(Customer)session.load(Customer.class,new Long(1));Customer c2=(Customer)session.load(Customer.class,new Long(1));System.out.println(c1==c2);session.close();A.运行出错,抛出异常B.打印falseC.打印trueD.无输出9.使用Session 获取命名查询的方法是(A)。
A.getNamedQuery()B.getnamedQuery()C.getNameQuery()D.getNamedSQLQuery()10.在映射文件中配置命名查询元素的是(A )。
A.<query>B.<return>C.<name-query>D.<getnamedquery>11.下面不属于持久化的是(A)。
A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来B.把程序数据从数据库中读出来C.从XML配置文件中读取程序的配置信息D.把程序数据保存为文件12.下面(A )不属于关系—对象映射的映射信息。
A.程序包名到数据库库名的映射B.程序类名到数据库表名的映射C.实体属性名到数据库表字段的映射D.实体属性类型到数据库表字段类型的映射13.下面(CD )不是Hibernate 映射文件中包含的内容。
A.数据库连接信息B.Hibernate 属性参数C.主键生成策略D.属性数据类型14.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(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.没有开启事务15.下列属于多对一关系的是(AD)。
A.书和作者B.商品种类和商品C.用户和发布的出租信息D.士兵和班长16.下面是某系统中的两个实体类,依此可以得知(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.WageItem 和Wage 间存在单向多对一的关联C.Wage 和WageItem间存在双向一对多的关联D.Wage 和WageItem间存在双向多对一的关联17.对第2题中的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>18.某系统中有如下代码片段,执行下面代码可能导致执行的SQL语句不包括(CD )。
<set name="items" inverse="true"><key column="wi_wage_id/><one-to-many class="WageItem" /></set>Wage wage = (Wage)session.get(Wage.class,1L);WageItem item = (WageItem)session.get(WageItem.class,1L);wage.getItems().remove(item);session.update(wage);A.select w0_.id, w0_.emp_name, w0_.month from fin_wage w0_ where w0_.id=?B.select i0_.wi_id, i0_.wi_name, i0_.wi_amount,i0_.wi_wage_id from fin_wage_item i0_ where i0_.wi_id=?C.delete from fin_wage_item where wi_id=?D.update fin_wage_item set wi_wage_id = null where wi_id=?19、在hibernate中, Customer.hbm.xml文件如下:<set name="orderses" inverse="true" cascade="all" ><key><column name="Customer_Id" /></key><one-to-many class="entity.Orders" /></set>关于cascade 属性说法正确的是( B )A.此属性不需要设置B.不添加此属性,不能通过Customer对象进行级联操作C.默认支持所有级联操作D.默认只支持删除级联操作20、下面关于hibernate核心接口说明错误的是( B )A. Configuration接口:配置Hibernate,根据其启动hibernate,创建SessionFactory对象B. SessionFactory接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存C. Query和Criteria接口:执行数据库的查询D. Transaction接口:管理事务21.以下属于struts2的控制器组件是:AA.ActionB.ActionFormC.ActionServletD.dispatchAction22.以下属于struts2的体系结构的是:(多选)ACA.struts2控制器组件B.struts2配置文件C.FilterDispathcerD.Action23. 以下属于struts2配置文件中的配置元素是:(多选)ABA.<package>B.<action>C.<form-beans>D.<action-mappings>24. 关于struts1和struts2对比的说法正确的是:DA.struts1要求Action类继承struts1框架中的Action父类,struts2中则不一定需要继承,可以是POJO类B.struts1中的Action不是线程安全的,而struts2中的Action是线程安全的C.struts1和struts2中都使用ActionForm对象封装用户的请求数据D.struts1使用OGNL表达式语言来支持页面效果,struts2通过ValueStack技术使标签库访问值25. 以下关于ValueStack说法正确的是:(多选)ADA.每个Action对象实例拥有一个ValueStack对象B.每个Action对象实例拥有多个ValueStack对象C.Action中封装了需要传入下一个页面的值,这些值封装在ValueStack对象中D.ValueStack会在请求开始时被创建,请求结束时消亡26. 关于struts2配置文件说法正确的是:CA.必须在WEB-INF/classes目录下B.名字必须为struts.xmlC.配置Action时,必须配置包信息D.使用<forward>元素配置转发27. 在struts2配置中用()元素来配置常量:CA.<const>B.<constants>C.<constant>D.<constant-mapping>28. 关于struts2包的说法正确的是: CA.struts2框架使用包来管理常量B.struts2框架定义包时必须指定name属性C.struts2框架中配置包时,必须继承自struts-default包,否则会报错D.struts2框架中使用包来管理Action29. struts2中获取Servlet API的方法正确的是:(多选)ADA.使用ActionContext对象以解耦合的方法访问Servlet APIB.使用ServletActionContext对象以解耦合的方式访问Servlet APIC.使用ActionContext对象以耦合的方式访问Servlet APID.使用ServletActionContext对象以耦合的方式访问Servlet API30. struts2动态调用的格式为:BA.ActionName?methodName.actionB.ActionName! methodName.actionC.ActionName*methodName.actionD.ActionName@mathodName.action31. 如果要实现struts2的数据校验功能 DA.普通Action类可以实现B.继承自Action接口可以实现C.继承自ActionSupport类可以实现D.继承自ActionValidate类可以实现32. 如果要实现自定义处理结果,需继承那个类 BA.DispathcerB.StrutsResultSupportC.SupportD.Action33. 实现动态返回结果,在配置<result>元素时使用(A)指定视图资源A.${属性名}B.@{属性名}C.${'属性名'}D.${"属性名"}34. 用于实现国际化的struts2标签是:AA.<s:text>B.<s:message>C.<s:textfield>D.<s:resource>35. struts2默认的处理结果类型是:AA.dispatcherB.redirectC.chainD.forward36. 自定义转换器继承的抽象类是:CA.ConverterB.TypeConverterC.StrutsTypeConverterD.converts37. 自定义转换器的注册方式有:CA.只有全局注册方式B.只有局部注册方式C.只有全局和局部注册方式D.以上说法都不对38. 自定义拦截器类的方式有:(多选)AA.实现Interceptor接口B.实现AbstractInterceptor接口C.继承Interceptor类D.继承AbstractInterceptor类39. 在struts.xml文件中,使用(D)元素定义拦截器A.<interceptor-ref>B.<interceptor>C.<intercep>D.<default-interceptor-ref>40. 在OGNL中?操作符的作用是:CA.取出符合选择逻辑的第一个元素B.取出符合选择逻辑的最后一个元素C.取出符合选择逻辑的所有元素D.以上说法都不对41. 在Spring中,数据连接是通过数据源获得的,下列关于Spring数据源描述错误的是( A)。