信思智学java三阶段考试试题_第1页
信思智学java三阶段考试试题_第2页
信思智学java三阶段考试试题_第3页
信思智学java三阶段考试试题_第4页
信思智学java三阶段考试试题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、单项选择题(每题2分,共40分)1 .如果要告知Mybatis、创建的资源文件的路径,下列哪组标签格式正确(B)A <mapping resource=Hsram/beans/UserMapper.xmr7>B <mapper resource=Hsram/beans/UserMapper.xnilH />C <property resource=,srani/beans/UserMapper.xmlM />D <mapping resource=Msram.beans.UserMapper.xmr7>2 .实体类的映射文件UserMappe

2、rxml中的insert标签中INSERT语句中要获取User对象的 属性,下列哪种格式正确(D)A (username)B usernameC #(username)D # username)3 .UserMapper.xml执行查询语句SELECT * FROM t_user有返回结果,如何表示(B)Aproperty =Msram.beans.UserHBresultType=nsram.beans.UsernCparameterTy pe=H sram. beans. UserHDresult=Hsram.beans.User*4 .Mybatis与数据库打交道的核心对象是C)A Se

3、ssionB SessionFactoryC SqlSessionD SqlSessionFactory5 .当向数据库中插入User对象时,Mybatis如何找到映射文件中的INSERT语句(A)A通过命名空间下的id来找到要执行的映射文件中的sql语句B通过命名空间下的name来找到要执行的映射文件中的sql语句C通过映射文件中对应SQL语句的id直接执行对应的语句D通过映射文件中对应SQL语句的name直接执行对应的语句6 .下列代码运行会报错的是(B)A Insert(HINSERT INTO t_user (username) VALUES (# username )H)public

4、 abstract void save(User user);B Update("UPDATE t_user SET username = #username) WHERE id = #id)")public abstract void update(User user);C Select("SELECT * FROM t_user")public abstract User getAHUsers();D Select("SELECT * FROM t_user WHERE id = #id")public abstract User

5、 load(int id);7 .对以下代码解释错误的是(C)<mapper namespace=Hcom.sram.mapper.UserMapperK><insert id=HsaveH parameterType=Hsram.beans.UserH>INSERT INTO Cuser (username) VALUES (#username);</insert>A 这段代码是XML配置文件和Mapper配合使用B在测试时可以通过mapper.save(user)来插入对象C UserMapper对应的插入方法名字可以是add()D 单独使用 XML 配

6、置的时候 namespace=Mcom.srani.beans.UserM8 .当传递两个参数时,XML配置如下,下列Mapper中对应的方法正确的是(D)<select id=MgetUserByUsernameAndPasswordHresultType=ncom.sram.beans.User*1 parameterType=HstringH>SELECT * FROM t_user WHERE username = #username) AND password =#pass);</select>A public abstract User getUser(St

7、ring username,String password);B public abstract User getUser(Param(MusernameH)String username,Param(npassH)String password);C public abstract User getUserByUsernameAndPassword(String username,String password);D public abstract UsergetUserByUsernameAndPassword(Param(HusernameH)String username, Param

8、(npassH)String password);9 .对下列代码解释正确的是(D)<select id=MloadchooseH parameterType=Hsram.beans.UserHresu!tType=nsram.beans.UserH>SELECT * FROM t_user WHERE id = # id<choose><when test=nusername!=nuir,>AND username = #username)</when><when test=Mpassword!=nullH>AND password

9、 = #password</when><otherwise>AND real name = #realname) /otherwise </choose></select>第2页共10页A 如果前两个when条件都成立,那么otherwise条件也一定会执行B当要有一个when条件成立,其余when条件也做执行C 如果choose中条件都为空,打印出的SQL语句为SELECT * FROM t_user WHERE id = ? AND realname = ?D如果用户名和密码都存在,打印出的SQL语句为SELECT * FROM t_user

10、 WHERE id = ? AND username= ? AND password=?10 .动态的添加WHERE条件,如果username不为空,则对应的SQL语句为(B)<select id=MloadwhereH parameterType=nsram.beans.User11AND passresultType=nsram.beans.UserH>SELECT * FROM t_user<where><if test="usemame!=nuHH>AND username = #username)</if><if tes

11、t=Hpassword !=nullM> word = # password</if><if test=Hrealname!=nullH>AND realname = #realname</if></where></select>A SELECT * FROM t_user WHERE username = ?B SELECT * FROM t_user AND username = ?C SELECT * FROM t_user WHERE AND username = ?D SELECT * FROM t_user WHER

12、E username = ? AND password=? AND realname=? “.UPDATE语句中,如果username不为空,则打印出来的SQL语句为(C)<update id=MupdateH parameterType=Hsram.beans.UserH>UPDATE Cuser<set><if test=Musername!=nullH> username = # username), </if><if test=* password !=nullH> password = # password, </if

13、></set>WHERE id = #id</update>A UPDATE t_user username = ? WHERE id = ?第3页共10页B UPDATE t_user SET username = ? WHERE id = ?C UPDATE t_user SET username = ?, WHERE id = ?D UPDATE t_user SET username = ? AND password=? WHERE id = ?12 .Mybatis的二级缓存中在配置文件中出现如下代码,解释错误的是(D)<cache evictio

14、n=HLRU flushInterval=H6000H size=M 1024H readOnly=HtrueM />A eviction=”LRU”代表缓存算法,默认值,可以不写B flushinterval二”6000”代表刷新间隔时间,单位为毫秒C size=”1024”代表缓存的对象个数D readOnly="true”代表如果当前缓存一部分数据,再次获取这部分数据时从数据库中取13 .在 SpringMVC-servlet.xml 中配置 MyController 类的正确代码是(A)A <bean id=*7SpringMVCM class=Hsram.con

15、troller.MyControllerH></bean>B <bean name=H/SpringMVCM class=Msram.controHer.MyControllerH></bean>C <mapper id=,7SpringMVCHclass=Hsram.controller.MyControlIerH></mapper >D <mapper name=,7SpringMVC',class=nsram.controller.MyControllerH></mapper >14 .下列

16、代码为基于注解的请求映射,解释错误的是(D)©ControllerRequestMapping('7user”)public class MyControllerRequestMapping(VuserAddn)public String save()System.out.println(nsave.return HsuccessM;A ®RequestMapping(,7user”)代表添加一个全局的请求路径B RequestM叩ping("/userAdd")代表给某个方法映射请求路径C 基于注解的请求映射MyController类不再需要继

17、承Multi ActioncontrollerD 以上代码中的RequestM叩ping都可以省略15 .以下是一位同学写的一段Rest风格接收参数代码,说法错误的是(C)RequestMapping(value= "userAdd/ userid/username)")public String save(Param(nuserIdH) int id,Param(MusernameH)String username) System.out.println(Hsave.,+id+H-H+username);return HsuccessH;IA userid相当于占位符的意

18、思B ("userid”)前面应该加路径变量注解C 代码有误,Param应修改为PathVariableD代码有误,应该把Param去掉16 .以下关于方法请求映射路径正确的是(A)A RequestMapping(value= "userAdd/*")地址栏访问此方法 userAdd/abc userAdd/abc/defB RequestMapping(value= "userAdd/*")地址栏只能通过 userAdd/a 来访问C RequestMapping(vakie="userAdd?”) userAdd 后面可以跟一个

19、或多个字符D RequestMapping(vakie="userAdd*") userAdd 后面必须跟一个或多个字符17 .对以下代码分析正确的是(D)RequestMapping( ,7paraniIH)public String param 1 (String a)System.out.println(str+HM+a);return Hsuccessn;JA 地址栏通过paraml?str=zs可以访问,不会报错B 地址栏通过paraml?str=zs&a=10, a接收不到数据C 把int换成Integer,地址栏通过param 1 ?s

20、tr=zs可以访问D 把int换成Integer,地址栏通过paraml?str=zs,后台a得到zs018 .对以下代码分析错误的是(D)RequestMapping( H/parani2H)public Stringparam2(RequestParam(required=false,defaultValue=Madmin,value=Musern)String str)System.out.println(str);return HsuccessH; )A RequestParam代表请求参数B required二false,默认为true,必须要传递该参数,改为false则可以不用传C

21、 defaultValuezz-admin",当设置false时可以手动绑定一个默认值D vakie="user”有或者没有value值时,传递过来的参数名称可以都为str19 .关于文件上传的说法错误的是(C)A 需要导入 commons-fileupload- 1.2.2.jar 和 conimons-io-2.4.jar 两个 jar 包B需要在springMVC-servlet.xml中配置上传解析器C 上传文件时可以不用加请求参数RequestParam(“file”)D多文件上传时用数组接收,循环判断接收20 .不是Mybatis配置文件中的主要元素是(D)A

22、propertiesB transactionManagerC mappersD bean二、判断题(每题1分,共10分)1 .实体类的映射文件XXXMapper.xml中的insert标签中的parameterType属性表示参数类 型,是执行insert语句时传递过来的XXX对象3)2 .Mybatis中如果要使用注解配置,则要提供一个UserMapper类(7 )3 .当需要执行不同的SQL语句时,可以通过标签条件,动态的调整SQL语句(/)4 .Mybatis的缓存机制中,如果第二次执行相同语句时会再次查询数据库(X)5 .设置是否使用缓存,可以在语句select标签中添加useCac

23、he二"true” (X )6 .在视图解析器中property name="prefix" value="/abc/"代表增加后缀(/ )7 .RequestMapping给方法映射请求路径时可以一个请求映射不同的路径(/ )8 .SpringMVC处理数据默认为转发(/)(不确定)9.当出现错误信息时最好转发到错误界面(/)lO.SpringMVC的拦截器可以在Controller与jsp界面的任何地方实行拦截(X ) 三、填空题(每空1分,共10分)1.Spring set 注入对象的注解是 ® Autowired 或者

24、9;Qualifier。2.MyBatisv Hibernatex JDBC在项目过程中按功能需求优先选择 MyBatis。按效率优先选择 JDBC o3.SpringMVC处理数据重定向使用的关键字是 redirect。4 .列出 SpringMVC 常用的 4 个注解 Session Attributes , CookieValue , RequestParam, ©Controller, RequestMapping.©path Vari able©Resource ©Autowired5 .Spring框架中业务层(service)的IOC的常用

25、注解是©Autowired 四、简答题(每题5分,共20分)1、简述MyBatis中#与$的区别是预编译处理,$是字符串替换;Mybatis在处理#时,会将sql中的#替换为?号,调用PreparedStatement的set方法来 赋值;Mybatis在处理$时,就是把$替换成变量的值;使用#可以有效的防止SQL注入,提高系统安全性。2、简述SpringMVC工程搭建步骤会话工厂配置XML文件创建 SqISESSionFactory3 .简述Spring的IOC编程思想方便解耦,方便程序开发,通过IOC容器,把程序中的依赖交给spring去管理控制4 . Spring AOP的通知

26、类型有那些,并简单阐述。Before前置通知,在一个方法执行前被调用AfterReturning后置通知,在方法成功完成后调用的通知Around环绕通知,在方法执行之前和之后调用的通知AfterThrowing异常通知,在方法抛出异常退出执行的通知After最终通知,在方法执行之后调用的通知,无论方法执行是否成功五、程序题(每题10分,共20分)User 类:id, name, password 三个属性。1、编写一个Controller类,使用/user访问该类,并访问其中的login方法。在控制台打印 "hello,sram”,将用户名sram存入session后,跳转至inde

27、x.jsp界面。2、编写一个Controller类,使用/user访问该类,并访问其中的register (注册)方法。在注册 信息时用Ajax判断用户名是否可用(1表示可用,0表示不可用)。A propertiesB transactionManager(mappersD bean二、判断题(每题1分,共20分):体类的映射文件UserMappenxm1中的六心标签中的paramelerType属性表示参名 /rVUT msert语句时传递过来的User对象。2 .向数据库中插入 User 对象时,session.insert(UserCass.geiName()+“.add”,j 减少代码得错误率()/3 .Mybalis中如果要使用注解配置,则要提供一个UscrMapper类/1 JscrMapper.xml去掉,换成注解配置,则mybatis-config.xml中可以不做修改操作5.当需要执行不同的SQL语句时,可以通过标签条件,动态的调整SQL语句/ 是给包含的语句添加前缀和后缀(,ZMybatis的缓存机制中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论