《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》_课后习题 联系客服

发布时间 : 星期二 文章《Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)》_课后习题更新完毕开始阅读84167082fbd6195f312b3169a45177232e60e42f

第八章

【思考题】

1、请简述MyBatis框架动态SQL中的主要元素及其作用。

2、请简述MyBatis框架动态SQL中元素collection属性的注意事项。

【答案】

1、MyBatis动态SQL中的主要元素及其作用如下: (1)元素:用于判断语句,用于单条件分支判断。

(2))元素:相当于Java中的switch...case...default语句,用于多条件分支判断。

(3)元素:辅助元素,用于处理一些SQL拼装、特殊字符问题。

(4)元素:循环语句,常用于in语句等列举条件中。

(5)元素: 从OGNL表达式中创建一个变量,并将其绑定到上下文,常用于模糊查询的sql中。

2、在使用时,collection属性是必须指定的,而且在不同情况下,该属性的值是不一样的。主要有以下3种情况:

(1)如果传入的是单参数且参数类型是一个数组或者List的时候,collection属性值分别为array和list(或collection);

(2)如果传入的参数是多个的时候,就需要把它们封装成一个Map了,当然单参数也可以封装成Map集合,这时候collection属性值就为Map的键。

(3)如果传入的参数是POJO包装类的时候,collection属性值就为该包装类中需要进行遍历的数组或集合的属性名。

所以在设置collection属性值的时候,必须按照实际情况配置,否则程序就会出现异常。。

第九章

【思考题】

1、请简述不同对象之间的三种关联关系。

2、请简述MyBatis关联查询映射的两种处理方式。

【答案】

1、在java中,对象之间存在着三种关联关系,分别是一对一,一对多和多对多。在这三种关联关系中,一对一的关系就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a;一对多的关系就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a;多对多的关系就是在A类中定义B类类型的集合,在B类中定义A类类型的集合。

2、MyBatis在映射文件中加载关联关系对象主要通过两种方式:嵌套查询和嵌套结果。嵌套查询是指通过执行另外一条SQL映射语句来返回预期的复杂类型;嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集。开发人员可以使用上述任意一种方式实现对关联关系的加载。

第十章

【思考题】

1、 请简述MyBatis与Spring整合所需JAR包的种类。

2、 请简述MapperFactoryBean和MapperScannerConfigurer的作用。

【答案】

1、MyBatis与Spring整合所需JAR包主要包括:Spring框架所需的JAR包、 MyBatis框架所需的JAR包、MyBatis与Spring整合的中间JAR、数据库驱动JAR包,以及数据源所需的JAR包。

2、MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类,通过MapperFactoryBean可以配置接口文件以及注入SqlSessionfactory,从而完成一个Bean的实例化。MapperScannerConfigurer是MyBatis-Spring团队提供的一种用于以自动扫描形式来配置MyBatis中映射器的类,可以通过配置包路径来自动扫描包接口生成映射器,这使得开发人员可以在编写很少代码的情况下,完成对映射器的配置,从而提高开发效率。

第十一章

【思考题】

1、请简述Spring MVC框架的优点。

2、请简述Spring MVC框架的工作执行流程。

【答案】

1、Spring MVC主要有如下优点:

(1)是Spring框架的一部分,可以方便的利用Spring所提供的其他功能。 (2)灵活性强,易于与其他框架集成。

(3)提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。 (4)可自动绑定用户输入,并能正确的转换数据类型。

(5)内置了常见的校验器,可以校验用户输入。如果校验不能通过,那么就会重定向到输入表单。

(6)支持国际化。可以根据用户区域显示多国语言。

(7)支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。 (8)使用基于XML的配置文件,在编辑后,不需要重新编译应用程序。

2、Spring MVC框架的工作流程如下:

(1)用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet所拦截。

(2)DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器。 (3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

(4)DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理器适配器)。 (5)HandlerAdapter会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称之为后端控制器。

(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名。

(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet。

(8)DispatcherServlet会根据ModelAndView对象选择一个合适的ViewReslover(视图解析器)。

(9)ViewReslover解析后,会向DispatcherServlet中返回具体的View(视图)。 (10)DispatcherServlet对View进行渲染(即将模型数据填充至视图中)。 (11)视图渲染结果会返回给客户端浏览器显示。