《黑马程序员 JavaEE企业级应用开发教程(Spring+SpringMVC+MyBatis)习题(2022).docx》由会员分享,可在线阅读,更多相关《黑马程序员 JavaEE企业级应用开发教程(Spring+SpringMVC+MyBatis)习题(2022).docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章初识MyBatis框架习题一、填空题1. MyBalis的删除操作在映射文件中是通过配置delete元素来实现的。2. MyBatis映射文件中vmapper元素是配置文件的根元素,它包含一个namespace 属性,该属性为这个mapper指定了唯一的命名空间。3. 使用MySQL中的【concat ()函数进行字符串拼接,可以有效防止模糊查询时 可能出现的SQL注入问题。4. mybatis-config.xml作为MyBatis的全局配置文件,配置了 MyBatis的运行环境等信 息,其中主要内容是获取【数据库连接】。5. MyBatis 是当前主流的Java持久层框架之一,它与H
2、ibemaie 一样,也是一种ORM框架。二、判断题MyBatis映射文件中mappers元素是配置文件的根元素,它包含一个namespace属 性,该属性为这个m叩per指定了唯一的命名空间。(x)1. 使用MyBalis框架非常简单,只需在应用程序中引入MyBalis框架lib目录中的全 部JAR包以及数据库驱动包即可进行项目运行。(X )ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通 过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久 化到关系型数据库的表中。(v)2. MyBatis的更新操作也需要进行事务提交。(v )3. 创建的
3、映射文件中的SQL语句要以面向对象的写法进行书写。(x ) 三、选择题1. MyBatis的删除操作有关说发错误的是。(D )A: MyBatis的删除操作在映射文件中是通过配置delete元素来实现的。B: MyBatis的删除操作也需要进行事务提交。C: MyBatis的删除操作执行了 SqlSession的delete。方法。D: MyBatis的删除操作和添加操作时,也需要封装整个实体类。2. MyBatis的更新操作有关说发错误的是。(D )A: MyBatis的更新操作在映射文件中是通过配置updale元素来实现的。B: MyBatis的更新操作也需要进行事务提交。C: MyBat
4、is的更新操作执行了 SqlSession的update。方法 。D: MyBatis的更新操作和添加操作时,只需要将insert。方法改为updat。方法即 可。3. 关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是。(C ) A:使用$进行SQL字符串拼接时,无法防止SQL注入问题。B:可以使用MySQL中的concat()函数进行字符串拼接。C:使用MySQL中的concat。函数进行字符串拼接,也无法防止SQL注入。D:使用MySQL中的concal。函数进行字符串拼接,导致数据库移植性变差。配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的名称进行装
5、配。B: Repository用于将数据访问层(DAO层)的类标识为Spring中的Bean0C: Service通常作用在业务层(Service层),用于将业务层的类标识为Spring中的 Bean0D: Controller通常作用在控制层(如Spring MVC的Controller),用于将控制层的 类标识为Spring中的Bean05.下列选项中,不属于Spring中实例化Bean的方式的是。(d )A:构造器实例化B:静态工厂方式实例化C:实例工厂方式实例化D:抽象方法实例化四、简答题1.请简述Spring配置文件中bean元素的常用属性。id : id属性是bean元素的唯一标识
6、符,Spring容器对Bean的配置和管理通过id属性完成, 装配Bean时也需要根据id值获取对象。name : name属性可以为Bean指定多个名称,每个名称之间用逗号或分号隔开。class : class属性可以指定Bean的具体实现类,其属性值为对象所属类的全路径。scope :scope属性用于设定Bean实例的作用范围,其属性值有:singleton (单例)、prototype (原型)、requests session 和 global sessiono习题一、填空题1. Aspect!框架中注解【Pointcut 用于定义切入点表达式,在使用时还需定义一个 包含名字和任意参
7、数的方法签名来表示切入点名称。1 .在Spring配置文件中,aop:aspect子元素的pointcut-ref属性用于指定一个已经 存在的【切入点名称】。2 .在Spring的配置文件中,配置切面使用的是aop:aspect元素。3 .在Spring中,使用【Proxy Factory Bean是创建AOP代理的基本方式。4 . AOP术语中Advice表示AOP框架在特定的切入点执行的增强处理,即在定义 好的切入点处所要执行的程序代码。二、判断题如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前 置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的
8、执 行顺序也是未知的。(v )1. AspectJ框架中的注解After用于定义最终final通知,不管是否异常,该通知都会 执行。(v )Spring配置文件中的vbeans元素下可以包含多个vaop:config元素,一个 aop:config元素中又可以包含属性和子元素,其子元素包括aop:pointcut、 aop:advisorQaop:aspecto (v )2. Spring中的AOP代理默认就是使用CGLIB代理的方式来实现的。(x )【JDk动 态代理】Spring 3.0以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进 行编程,而Spr
9、ing自身的AOPAPI也尽量与AspecU保持一致。(x )三、选择题1 .以下不属于ProxyFactoryBean类中的常用可配置属性的是。(c )A: targetB: proxy InterfacesC: targetClassD: intcrccptorNamcs2 .以下哪种类型不是Spring中的通知类型。(d )A:异常通知B:前置通知C:后置通知D:最终通知3 .关于AspectJ注解的介绍,说法错误的是。(d )A: Aspect用于定义一个切面B: Pointcu(用于定义切入点表达式C: Before用于定义前置通知,相当于BeforeAdviceD: After用于
10、定义后置通知,相当于AfterReturningAdvice4 .以下有关CGUB代理相关说法正确的是。(c )CGLIB代理的使用非常简单,但它还有一定的局限性使用动态代理的对象 必须实现一个或多个接口。B:如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需 要的包。C: Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理。5 .以下关于Spring AOP的介绍错误的是。(c )A: AOP的全称是Aspecl-Oriented Programming,即面向切面编程(也称面向方面编
11、程)。B:AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横 向抽取机制的方式,采用OOP思想是无法办到的。C:虽然AOP是一种新的编程思想,采取横向抽取机制,是OOP的升级替代品。D:目前最流行的AOP框架有两个,分别为Spring AOP和Aspect!。 四、简答题1.请列举AOP实现中Spring提供的注解并解释其作用。Aspect :配置切面,Pointcut :配置切点,Before :配置前置通知,After :配置 后置通知,Around :配置环绕方式,AfterReturning :配置返回通知,AfterThrowing : 配置异常通知.习题一、填
12、空题1.前端控制器拦截请求后,会调用【HandlerMapping。1. Spring MVC支持多种视图技术,包括JSP、Velocity和FreeMarker等。2. SpringMVC的配置文件中,可以配置处理器映射、处理器映射器、处理器适配器和 【视图解析器】。3. Spring MVC提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发 控制器对象。4. 在Spring MVC的执行流程中,Controller执行完成后,会返回一个Model A nd View 对象。二、判断题1. HandlerAdapler 将 ModelAndView 对象返回给 V
13、iewReslover。( x) DispatcherServletSpring4.3版本的配置文件中,必须要配置处理器映射器、处理器适配器和视图解析 器,否则程序将无法运行。(x)2. 元素中的1表示容器在启动时立即加载这个Servlet。( v )3. Spring MVC 支持 JSP、Velocity. XML 和 FreeMarker 等视图技术。(x )4. Spring MVC的灵活性比较弱,易于与其他框架集成。(x ) 三、选择题1 .下面关于Spring MVC特点说法错误的是。(A)A:灵活性强,但不易于与其他框架集成B:可自动绑定用户输入,并能正确的转换数据类型C:支持国
14、际化D:使用基于XML的配置文件,在编辑后,不需要重新编译应用程序2 . Spring MVC中的后端控制器是指。(D )A: HandlerAdapter【处理器映射器】B: DispatcherServlet【前端控制器】C: VicwReslover【视图解析器D: Handler.用户通过浏览器向服务器发送请求时,负责拦截用户请求的是。(D ) A:处理器B:处理器映射器C:处理器适配器D:前端控制器3 .入门程序中,不是必须引入的JAR包是。(D )A: Spring的4个核心JAR包B: commons-logging 的 JAR 包C: spring-web 和 spring-w
15、ebmvc 的 JAR 包D: log4j 的 JAR5. Spring MVC是Spring提供的一个实现了(A )设计模式的轻量级Web框架。A: Web MVCB: WebC:单例D:工厂四、简答题1 .请简述Spring MVC框架的工作执行流程。(1)用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器 DispatcherServlet 拦截。(2) DispatcherServlet拦截到请求后,会调用HandlerMapping (处理器映射器)。(3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器 (如果有则生成)一并返回给Dis
16、paicherServIeto(3) DispatcherServlet会通过返回信息选择合适的HandlerAdapter (处理器适配器)。(4) HandlerAdapter会调用并执行Handler (处理器),这里的处理器指的就是程序中编 写的Controller类,也被称之为后端控制器。(5) Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名 或包含模型和视图名。(6) HandlerAdapter 将 ModelAndView 对象返回给 DispatcherServleto(7)前端控制器请求视图解析器根据逻辑视图名解析真正的视图。(
17、8) ViewResolver 解析后,会向 DispatcherServlet 中返回具体的 View (视图)0(9) DispalchcrServlet对View进行渲染(即将模型数据填充至视图中)。(10)前端控制器向用户响应结果。第11章Spring MVC的核心类和注解习题一、填空题1 . RequestM叩ping注解类型用于映射【一个请求或一个方法】。2 .在使用Spring MVC的注解开发时,除了需要引入Spring的核心JAR包、Commons- logging的JAR包以及Spring MVC的2个JAR包外,还需要引入Spring AOP 的JAR包。3 .在视图解析
18、器配置中,可以设置视图的【前缀和后缀】。4 .如果没有通过vinit-param元素配置,则应用程序会默认去WEB-INF目录下】寻 找配置文件。5 .如果vload-on-startup元素不存在,则应用程序会【在第一个Servlet请求时】加载 该 Scrvlcto二、判断题1. 在控制器类中,每一个请求处理方法都可以有多个不同类型的参数,以及一个多种 类型的返回结果。(v )2. RequestMapping 的 method 属性必须使用 ( x )3. RequestMapping(method = RequesiMethod.GET)可以缩写为Ge【Mapping。(v )4. R
19、equestM叩ping注解的属性都是可选属性。(v)Web.xml文件中必须使用load-on-startup元素和init-param元素,否则文件会报 错 ( x )三、选择题1 .下面关于请求处理方法返回类型说法错误的是。(D)A:常见的返回类型是ModelAndView、String和voidB: ModelAndView类型中可以添加Model数据,并指定视图C: String类型的返回值可以跳转视图,但不能携带数据D: void类型主要在异步请求时使用,它既返回数据,又跳转视图2 .下面类型中,不属于请求处理方法参数类型的是。(D)A: javax.servlel.http.Ht
20、tpSessionB: MatrixVariableC:D: void3 .下面关于组合注解的说法正确的是。(B )A:组合注解是Spring3.x版本中的新特性B:组合注解可以简化常用的HTTP方法的映射C:在所有的Spring项目中,使用组合注解可以替代RequestMapping注解D: GetMapping注解可以用来匹配GET和POST方式的请求4 .下面关于RcqllestMapping注解说法错误的是。(D)A: Reques(Mapping注解的默认属性是valueB: RequestMapping注解的value属性值可以省略C: RequestMapping注解的value
21、属性名可以省略D: RequestMapping注解的value属性必须标注5 .下面关于vload-on-startup元素说法错误的是。(C)A:如果vload-on-startup元素的值为1,则在应用程序启动时会立即加载该Servlet B:如果load-on-star【up元素不存在,则应用程序会在第一个Servlet请求时加载 该 ServletC:如果vload-on-startup,元素的值为1,则在应用程序启动时会延迟加载该 ServletD: load-on-startup元素是可选的四、简答题1 .请列举RequestM叩ping注解的常用属性,并说明其作用。(1) va
22、lue属性,用于指定请求的URL。value属性是RequeslMapping注解的默认属 性。当value属性是RequestM叩ping注解显式使用的唯一属性时,可以省略value的属性 名。(2) method属性,method属性可以对处理器映射的URL请求方式进行限定。当请求 的URL和处理器映射成功,但请求方式和method属性指定的属性值不匹配,处理器也不能 正常处理请求。(3) params属性,params属性中定义的值可以将请求映射的定位范围缩小。当客户端 进行请求时,如果请求参数的值等于params属性定义的值,可以正常执行所映射到的方法, 否则映射到的方法不执行。第12
23、章Spring MVC数据绑定习题一、填空题i.在使用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定,所以 需要使用包装POJO作为形参,然后在包装POJO中包装一个【集合】属性。1 .使用包装POJO类型数据绑定时,如果前端条件参数是包装类中POJO的子属性, 则参数名必须为【对象.属性】。2 .当前端请求的参数比较简单时,可以在后台方法的形参中直接使用Spring MVC提 供的【默认参数】类型进行数据绑定。3 .如果将订单和用户的所有查询条件都封装在一个简单POJO中,显然会比较混乱, 这时就可以考虑使用【包装POJO】类型的数据绑定。4 .在使用POJO类型数据绑定时,前
24、端请求的参数名必须与要绑定的POJO类中的【属 性名】一样,这样才会自动将请求数据绑定到POJO对象中,否则后台接收的参数 值为null0二、判断题1 .绑定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不同。(x).要使用集合数据绑定,需要在包装类中定义一个包含用户信息类的集合,然后在接 收方法中将参数类型定义为该包装类的集合。(v)2 .在执行绑定数组操作中,前台页面中复选框中传递的name属性值必须相同。(v).注册自定义的Formatter转换器类时,Bean的类名必须是 org.springframework.format.suppon.FomiattingConversi
25、onServiceFactoryBcan,并且其 属性为 formatterso (v)3 . Formatter与Converter的作用相同,只是Formatter的源类型可以是任意类型,而 Converter 必须是一个 String 类型。(x)三、选择题1 .以下有关Spring MVC数据绑定中集合数据绑定的说法正确的是。(D)A:批量删除用户操作时,前端请求传递过来的参数就会包含多个相同类型的数据,此时可以采用数组类型数据绑定的形式氏使用集合数据绑定需要后台方法中定义一个集合类型参数介绍绑定前端请求参 数C:绑定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不同D:在使
26、用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定2 .下面选项中,哪一个是Spring的编码过滤器类。(B )A:B:C:D:3 . RequesiParam注解中可以省略属性名称的是。(B )A: defaultValueB: valueC: nameD: required4 .下面关于包装POJO类型数据绑定的说法正确的是。(A)A:如果查询条件参数是包装类的直接基本属性,则参数名直接用对应的属性名B:如果查询条件参数是包装类的直接基本属性,则参数名必须使用对应的“对象. 属性名”C:如果查询条件参数是包装类中POJO的子属性,则参数名必须为属性名D:如果查询条件参数是包装类
27、中POJO的子属性,则参数名必须为“对象子属性. 属性值”的形式5 .下面不属于RequestParam注解类型属性的是。(A)A:idB: valueC: nameD: required四、简答题1.请简述简单数据类型中的RequestParam注解及其属性的作用。RequestParam注解来定义参数的别名,完成请求参数名称和处理器的形参名称不一致 时的数据绑定。Reques(Param注解的属性主要有以下几个。name属性指定请求头绑定的名称。value属性指name属性的别名,这里指参数的名称,即入参的请求参数名称,如 value=name表示请求的参数中,名称为name的参数的值将传
28、入。required属性用于指定参数是否必须,默认是true,表示请求中一定要有相应的参数。 defauliValue属性用于指定形参的默认值,表示如果请求中没有同名参数时的默认值。第14章SSM框架整合习题一、填空题1. SSM框架整合主要是【Spring与MyBatis的整合,以及【Spring MVC与MyBatis 的整合。2. 为了避免Spring配置文件中的信息过于臃肿,通常会将Spring配置文件中的信息 按照【不同的功能】分散在多个配置文件中。3. Transactional注解主要是针对数据的【增加】、【修改】、【删除】进行事务管理。4. 在整合项目中,db.properti
29、es文件主要用于【配置数据库常量】。5. Spring与MyBatis框架的整合时,可以通过Spring【实例化Bean,然后调用实例 对象中的查询方法来执行MyBatis映射文件中的【SQL语句 ,如果能够正 确查询出数据库中的数据,就可以认为Spring与MyBatis框架整合成功。二、判断题在实际开发时,为了避免Spring配置文件中的信息过于臃肿.通常会将Spring配置 文件中的信息按照不同的功能分散在多个配置文件中。(v )1. Autowired注解需要标注在Service层的实现类上,这样才能实现依赖注入(x )2. Transactional注解主要是针对数据的增加、修改、删
30、除和查询进行事务管理J x )3. Spring 与 Spring MVC, Spring MVC 与 MyBatis 需要相互整合。(x )4. 在Spring MVC的配置文件中,视图解析器是必须配置的。(x ) 三、选择题1 .下列选项中,不需要配置在web.xml中的是。(C )A: Spring的监听器B:编码过滤器C:视图解析器D:前端控制器2 .下列选项中,属于Spring MVC所必须的JAR包的是。(A )A:B:C:D:3 .下列选项中,不属于SSM整合时所需的JAR包的是。(d )A:B:C:D:4 .下列关于SSM框架的整合说法错误的是。(d)A : Spring MV
31、C与Spring之间不存在整合的问题。B : SSM框架的整合就涉及到Spring与MyBatis的整合。C : SSM框架的整合就涉及到Spring MVC与MyBatis的整合。D : SSM框架的整合就涉及到Spring MVC与Spring之间的整合。4 .有关MyBatis工作原理说法错误的是。(C )A: MyBatis的全局配置文件配置了 MyBatis的运行环境等信息,其中主要内容是 获取数据库连接氏MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配 置文件中加载才能执行C:可以通过MyBatis的环境等配置信息构建会话对象SqlSessionD
32、: SqlSession对象,该对象中包含了执行SQL的所有方法.使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作 持久化对象(P0,即 Persisem Object) 0 ( C )A:面向业务B: Hibemate C:面向对象D: MyBatis四、简答题1.请简要介绍MyBatis的工作原理。(1)读取 MyBatis 配置文件 mybatis-config.xmlo(2)由MyBatis配置文件加载映射文件Mapper.xmlo(3)通过MyBatis的环境等配置信息构建会话工厂SqlScssionFactoryo(4)由会话工厂创建SqlSession对象
33、。(5) MyBatis底层定义了一个Executor接口来操作数据库,它会根据SqlSession传递的参 数动态的生成需要执行的SQL语句。(6)在Executor接口的执行方法中,包含一个M叩pedStatement类型的参数,该参数是对 映射信息的封装。(7)在执行方法时,MappedStalement对象会对用户执行SQL语句的输入参数进行定义封 装。(8)在数据库中执行完SQL语句后,MappedSlalemenl对象会对SQL执行输出的结果进行 定义封装。5.下面选项中,不属于整合SSM框架所编写的配置文件的是。(d )A : db.propertiesB : applicati
34、onContext.xmlC : mybatis-config.xmlD : struts.xml四、简答题1 .请简述SSM框架整合思路。(1)搭建项目基础结构。首先需要在数据库中搭建项目对应的数据库环境;然后创建 一个Maven Web项目,并引入案例所需的依赖;最后创建项目的实体类,创建三层架构对 应的模块、类和接口。(2)整合Spring和MyBatiso在Spring配置文件中配置数据源信息,并且将 SqlSessionFactory对象和Mapper对象都交由Spring管理。(3)整合 Spring 和 Spring MVC。Spring MVC 是 Spring 框架中的一个模
35、块,所以 Spring 整合Spring MVC只需在项目启动时分别加载各自的配置即可。第2章MyBatis的核心配置习题一、填空题1. 当数据表中的列和需要返回的对象的属性不完全一致,MyBatis是不会自动赋值的。 此时,就可以使用【resultMap 元素进行处理。2. vresultMap元素的子元素vid用于表示哪个列是【主键】,而【result 元素用于表示POJO和数据表中普通列的映射关系。3. MyBails映射文件中使用vindude元素的【refid】属性可以引用自定义的代码片段, 其属性值为自定义代码片段的id。4. MyBatis映射文件中insert的selectKe
36、y子元素的order属性可以被设置为BEFORE或AFTER 】。5. 对于数据源的配置,MyBatis框架提供了 UNPOOLED, POOLED和JNDI三种数 据源类型。二、判断题1. resultMap的子元素association和collection用于处理多表时的关联关系。(v)MyBatis映射文件的insert,元素的属性与select元素的属性大部分相同,但还包 含了 3个特有属性。(v )2. MyBatis框架提供了许多默认别名,由于别名不区分大小写,所以在使用时要注意 重复定义的覆盖问题。(v)3. 映射文件中可以包含多个id值相同的vresullM叩元素0 ( x
37、)与insert,元素一样,update和delete,元素在执行完之后,也会返回一个表示影 响记录条数的整数。(v )三、选择题1 .以下有关sql元素说法错误的是。(c )A: vsql元素的作用就是定义可重用的SQL代码片段,然后在其他语句中引用这 一代码片段。B:使用include元素的refid属性可以引用自定义的代码片段。C:使用include,元素refid的属性值为自定义代码片段的name。D: vsql元素是mapper元素的子元素。2 .以下有关MyBatis映射文件中insert,元素说法正确的是。(c )A:vinseri元素用于映射插入语句,在执行完元素中定义的SQL
38、语句后,没有返 回结果。B:insert元素的属性与select元素的属性相同。C: keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设 置。D: useGeneratedKeys (仅对 insert 有用)此属性会使 MyBatis 使用 JDBC 的 getGeneratedKeys。方法来获取由数据库内部生产的主键。3 .以下关于seleci元素及其属性说法错误的是,(c )A:select,元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组 装数据给业务开发人员。B: paramctcrTypc属性表示传入SQL语句的参数类的全限定名或者别名。C
39、: resultM叩表示外部resullMap的命名引用,返回时可以同时使用resullType和 resultMapD:在同一个映射文件中可以配置多个select元素。4 .关于vtypeHandlers元素说法错误的是。(d )A: viypeHandle0元素就是用来在配置文件中注册自定义的类型处理器的,它的使 用方式有两种。B:通过typeHandlers元素的子元素vtypeHandler就可以配置单个类型处理器。C:通过viypeHandlers元素的子元素package可以配置包下的所有类型处理器。D: vtypeHandlers元素的子元素package的handler属性用于
40、指定类型处理器所 在的包名,系统会在启动时自动的扫描包下所有的文件,并把它 们作为类型处理器。5 .有关MyBatis配置文件中settings元素的说法错误的是。(c )A: vsetlings元素主要用于改变MyBalis运行时的行为,例如开启二级缓存、开启 延迟加载等。B:虽然不配置sellings元素,也可以正常运行MyBalis,但是熟悉sellings的配 置内容以及它们的作用还是十分必要的。C: senings元素中延迟加载的全局开关的参数lazyLoadingEnabled默认开启。D:settings,元素的配置内容大多数都不需要开发人员去配置它,通常在需要时只 配置少数几项
41、即可。四、简答题1.请简述MyBalis映射文件中的常用元素及其作用。vmapper :映射文件的根元素,该元素只有一个namespace属性,用于区分不同的nipper, 全局唯一Oinsert:用于映射插入语句。delete:用于映射删除语句。update:用于映射更新语句。select :用于映射查询语句。sql :定义可以重用的SQL块。vresuhM叩:描述数据库结果集和对象的映射关系。第3章动态SQL习题一、填空题1 .当在MyBaits文件中使用了vbind元素,在SQL语句中可以直接引用vbind元素 的【name】属性值即可进行动态SQL组装。2 .在使用MyBaits的vf
42、oreach时,如果传入的参数是多个的时候,就需要把它们封装 成一个Map 7,这时候collection属性值就为Map的【键】。3 .在MyBaits映射文件中使用sel和if元素组合进行update语句动态SQL组装时, 如果vset元素内包含的内容都为空,则会出现【SQL语法错误。4 . MyBaits中trim元素的作用是去除一些特殊的字符串,它的prefix属性代表的 是语句的前缀,而prefixOverrides属性代表的是需要去除的哪些特殊字符串。5 .使用set和if元素相结合的方式来组装update语句时,set元素就会动态前置 SET关键字,同时也会消除SQL语句中最后一
43、个多余的【逗号】。二、判断题.可以将任何可迭代对象(如列表、集合等)和任何的字典或者数组对象传递给 vforeach作为集合参数。(v)1 .在MyBaits映射文件中使用set和if元素组合进行update语句动态SQL组装时, 如果vset元素内包含的内容都为空,则会出现SQL语法错误。(v). MyBaits中对原始SQL中的“where 1=1的条件可以使用whcrc与if元素组合进 行替换. (v)2 .在MyBatis中if元素用于单条件分支判断,当某个if的test属性判断成立,然后 跳过其他i0元素进行动态SQL组装。(x ). MyBatis中的foreach元素可以用于对数
44、组和集合循环遍历,批量执行SQL操作。 (v )三、选择题1 .以下不属于foreach元素中使用的属性的是。(c )A: separatorB: collectionC: currentD: item2 .以下关于foreach元素中使用的几种属性的描述错误的是。(c )A: item :配置的是循环中当前的元素。B: index :配置的是当前元素在集合的位置下标。C: collection :配置的是传递过来的参数类型,它可以是一个array、list (或 collection). Map集合的键、POJO包装类中数组或集合类型的属性名等。D: separator :配置的是各个元素的
45、间隔符。3 .以下关于MyBatis的set元素的使用及说法正确的是。(A )A: vset元素主要用于更新操作,其主要作用是在动态包含的SQL语句前输出一 个SET关键字,并将SQL语句中最后一个多余的逗号去除。B:使用MyBatis的set元素来更新操作时,前端需要传入所有参数字段,否则未传入字段会默认设置为空。C:在映射文件中使用Vset和Vif元素组合进行updale语句动态SQL组装时,元素内包含的内容可以都为空,元素会进行判断处理。D:在映射文件进行更新操作时,只需要使用元素就可以进行动态SQL组 装。4 .以下有关MyBaiis动态SQL中的主要元素说法错误的是。(D ) A:v
46、i用于单条件分支判断。B: (、)用于多条件分支判断。C:vforeach循环语句,常用于in语句等列举条件中。D:vbind从OGNL表达式中创建一个变量,并将其绑定到上下文,只于模糊查询 的sql中。5.当有多个选择的情况是,值需要从多个选项中选择一个去执行时,可以使用的动态 SQL元素是。(B)A: B:choose、s C: D: 四、简答题1.请简述MyBatis动态SQL中的常用元素及其作用。vif :判断语句,用于单条件判断。 (x ):相当于 Java 中的 switch.case.default 语句,用于 多条件判断。 :简化SQL语句中where的条件判断。 :可以灵活地去除多余的关键字。 :用于SQL语句的动态更新。 :循环语句,常用于in语句等列举条件中。第6章初识Spring框架习题一、填空题1 .依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的