第六章 初识MyBatis--习题答案

课程介绍:“框架技术”是软件工程专业的核心课程,是本专业限选课,是Java 应用开发课程,是本专业学生就业的主要方向。
说明:框架设计其他章节的习题答案也在此“spring框架设计”专栏。

一、 填空题

  1. MyBatis的删除操作在映射文件中是通过配置【update】元素来实现的。
  2. MyBatis映射文件中元素是配置文件的根元素,它包含一个【namespace】属性,该属性为这个指定了唯一的命名空间。
  3. 使用MySQL中的【concat()】函数进行字符串拼接,可以有效防止模糊查询时可能出现的SQL注入问题。
  4. mybatis-config.xml作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,其中主要内容是获取【数据库连接】。
  5. 【MyBatis】是当前主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。

二、 判断题

  1. MyBatis映射文件中元素是配置文件的根元素,它包含一个namespace属性,该属性为这个指定了唯一的命名空间。(×)
  2. 使用MyBatis框架非常简单,只需在应用程序中引入MyBatis框架lib目录中的全部JAR包以及数据库驱动包即可进行项目运行。(×)
  3. ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。(√)
  4. MyBatis的更新操作也需要进行事务提交。(√)
  5. 创建的映射文件中的SQL语句要以面向对象的写法进行书写。(×)

三、 选择题

  1. MyBatis的删除操作有关说发错误的是。(D)
    A: MyBatis的删除操作在映射文件中是通过配置元素来实现的。
    B: MyBatis的删除操作也需要进行事务提交。
    C: MyBatis的删除操作执行了SqlSession的delete()方法。
    D: MyBatis的删除操作和添加操作时,也需要封装整个实体类。
  2. MyBatis的更新操作有关说发错误的是。(D)
    A: MyBatis的更新操作在映射文件中是通过配置元素来实现的 。
    B: MyBatis的更新操作也需要进行事务提交。
    C: MyBatis的更新操作执行了SqlSession的update()方法 。
    D: MyBatis的更新操作和添加操作时,只需要将insert()方法改为updat()方法即可。
  3. 关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是。(C)
    A: 使用“${}”进行SQL字符串拼接时,无法防止SQL注入问题。
    B: 可以使用MySQL中的concat()函数进行字符串拼接。
    C: 使用MySQL中的concat()函数进行字符串拼接,也无法防止SQL注入。
    D: 使用MySQL中的concat()函数进行字符串拼接,导致数据库移植性变差。
  4. 有关MyBatis工作原理说法错误的是。(C)
    A: MyBatis的全局配置文件配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接
    B: MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配置文件中加载才能执行
    C: 可以通过MyBatis的环境等配置信息构建会话对象SqlSession
    D: SqlSession对象,该对象中包含了执行SQL的所有方法
  5. 使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作持久化对象(PO,即Persisent Object)。(C)
    A: 面向业务B: Hibernate C: 面向对象 D: MyBatis

四、 简答题

1. 请简述Hibernate和MyBatis这两个框架的主要区别。
Hibernate是一个全表映射的框架。通常开发者只需定义好持久化对象到数据库表的映射关系,就可以通过Hibernate提供的方法完成持久层操作,开发者并不需要熟练的掌握SQL语句的编写,所以其开发效率会高于MyBatis。
而Hibernate自身也存在着一些缺点,例如它在多表关联时,对SQL查询的支持较差;更新数据时,需要发送所有字段;不支持存储过程;不能通过优化SQL来优化性能等。这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。
MyBatis是一个半自动映射的框架。这里所谓的“半自动”是相对于Hibernate全表映射而言的。与Hibernate相比,虽然使用MyBatis手动编写SQL要比使用Hibernate的工作量大,但MyBatis可以配置动态SQL并优化SQL,可以通过配置决定SQL的映射规则,它还支持存储过程等。对于一些复杂的和需要优化性能的项目来说,显然使用MyBatis更加合适。

整理不易,如有帮助请点赞支持!

发布了19 篇原创文章 · 获赞 2 · 访问量 964
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章