MyBatis关联映射相关习题

这篇具有很好参考价值的文章主要介绍了MyBatis关联映射相关习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、单选题

1、下列属性中,不属于<association>元素属性的是()。
A、property
B、select
C、ofType
D、autoMapping
正确答案:C

ofType是<collection>元素特有的属性

2、下列关于<foreach>元素的collection属性的说法正确的是()。
A、collection属性可有可无
B、collection属性值在任何情况下的取值都是一样的
C、collection属性值首字母要小写
D、collection属性值首字母要大写
正确答案:C

无解析

3、下面关于Java对象之间的关联关系描述正确的是()。
A、一对一的关系就是在本类和对方类中定义同一个类型的对象
B、一对多的关系:就是一个A类类型对应多个B类类型的情况
C、多对多的关系只需要在一方的类中引入另一方类型的集合
D、多对多关联关系需要在本类中引入本类的集合
正确答案:B

A:一对一关系就是在本类中定义与之关联的类的对象作为属性
C、D:多对多关系就是在两个相互关联的类中,都可以定义多个与之关联的类的对象

4、在Java中,以下有关类的关联关系描述错误的是()。
A、在Java中,通过对象也可以进行关系描述,他们分别为一对一、一对多、多对一和多对多
B、一对一的关系就是在本类中定义对方类型的对象
C、一对多的关系就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性
D、多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。
正确答案:A

在Java中,通过对象也可以进行关系描述,有一对一、一对多和多对多,没有多对一

5、下列关于<collection>元素的描述正确的是()。
A、MyBatis就是通过<collection>元素来处理一对多关联关系的
B、<collection>元素的属性与<association>元素完全相同
C、ofType属性与javaType属性对应,它用于指定实体对象中所有属性所包含的元素类型
D、<collection >元素只能使用嵌套查询方式
正确答案:A

B:<collection>元素的属性大部分与<association>元素相同,但其还包含一个特殊属性ofType
C:ofType属性与javaType属性对应,它用于指定实体类对象中集合类属性所包含的元素的类型
D:<collection>元素也是<resultMap>元素的子元素,它也有嵌套查询和嵌套结果两种配置方式

6、以下关于<association>元素中常用属性说法错误的是()。
A、property指定映射到的实体类对象属性,与表字段一一对应
B、column指定表中对应的字段
C、fetchType指定在关联查询时是否启用延迟加载,默认值为eager
D、javaType指定映射到实体对象属性的类型
正确答案:C

fetchType属性有lazy和eager两个属性值,默认值为lazy(即默认关联映射延迟加载)

7、下列关于MyBatis映射文件中加载关联关系对象的方式说法正确的是()。
A、嵌套结果是指通过执行另外一条SQL映射语句来返回预期的复杂类型
B、嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集
C、嵌套查询是使用嵌套结果映射来处理重复的联合结果的子集
D、以上说法都正确
正确答案:B

无解析

二、多选题

8、在关系型数据库中,多表之间的关联关系主要包括()。
A、一对一
B、一对多
C、多对一
D、多对多
正确答案:A,B,C,D

以上说法都正确

9、下列属性中,属于<association>和<collection>元素共有的属性是()。
A、property
B、select
C、ofType
D、autoMapping
正确答案:A,B,D

ofType是<collection>元素特有的属性

三、判断题

10、<association>元素只有一种配置方式,即嵌套结果方式。
正确答案:错

<association>元素有两种嵌套方式,一种是嵌套查询方式,一种是嵌套结果方式

11、在MyBatis中,通过<association>元素可以处理一对多关联关系。
正确答案:错

<association>元素处理的是一对一关联关系,<collection>元素可以处理一对多关联关系

12、当表中的列名与对应对象的属性名称完全一致时,在查询映射文件中可以不使用resultMap属性。
正确答案:对

无解析

13、在数据库中,多对多的关联关系通常使用一个中间表来维护。
正确答案:对

无解析

14、MyBatis中,默认开启了延迟加载。
正确答案:错

MyBatis默认没有开启延迟加载,需要在核心配置文件mybatis-config.xml中的<settings>元素内进行配置

15、Java对象关联映射关系中,一对一就是在本类中定义与之关联的类的对象作为属性。
正确答案:对

无解析

16、在使用MyBatis嵌套查询方式进行MyBatis关联映射查询时,使用MyBatis的延迟加载在一定程度上可以降低运行消耗并提高查询效率。
正确答案:对

无解析

17、关系型数据库的关联关系中,在“一”的一方,添加“多”的一方的主键作为外键。
正确答案:错

应该是在“多”的一方,添加“一”的一方的主键作为外键

18、MyBatis中多对多关联映射同样有嵌套查询和嵌套结果两种关联方式。
正确答案:对

无解析

四、填空题

19、在MyBatis中,使用_________元素可以处理一对多关联关系。

<collection>

20、在MyBatis中,通过_________元素可以处理一对一关联关系。

<association>

21、在使用<association>元素时,它的fetchType属性有_________和eager两个属性值。

lazy

22、<collection>元素的属性中,用于指定实体类对象中集合类属性所包含的元素类型的是_________。

ofType

23、<association>元素的_________属性用于指定引入嵌套查询的子SQL语句。

select

24、在关系型数据库中,表与表之间存在着三种关联映射关系,分别为一对一、一对多和_________。

多对多

五、简答题

25、请简述MyBatis中延迟加载的配置。

MyBatis默认没有开启延迟加载,需要在核心配置文件中的元素内将延迟加载开关lazyLoadingEnabled设置为true,并将积极加载开关aggressiveLazyLoading设置为false。由于MyBatis关联映射的元素和元素中都已默认配置了延迟加载属性,所以不需要配置。

26、请简述<collection>子元素的常用属性及说明。

property:用于指定映射到的实体类对象的属性,与表字段一 一对应
column:用于指定表中对应的字段
javaType:用于指定映射到实体对象的属性的类型
jdbcType:用于指定数据表中对应字段的类型
fetchType:用于指定在关联查询时是否启动延迟加载。有lazy和eager两个属性值,默认值为lazy
select:用于指定引入嵌套查询的子SQL语句
autoMapping:用于指定是否自动映射
typeHandler:用于指定一个类型处理器
ofType:用于指定实体类对象中的集合类属性所包含的元素类型

如有错误,欢迎指正!!!文章来源地址https://www.toymoban.com/news/detail-426949.html

到了这里,关于MyBatis关联映射相关习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MyBatis 的关联关系配置 一对多,一对一,多对多 关系的映射处理

    目录 一.关联关系配置的好处  二. 导入数据库表:  三.    一对多关系:--    一个订单对应多个订单项        四.一对一关系:---一个订单项对应一个订单 五.多对多关系(两个一对多)          MyBatis是一个Java持久化框架,可以 通过XML或注解的方式 将对象与数据库

    2024年02月11日
    浏览(64)
  • MySQL多表关联查询练习题

    1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grad

    2024年01月17日
    浏览(47)
  • 【Mybatis系列】Mybatis空值关联

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年01月17日
    浏览(41)
  • Mybatis的关系关联配置

    目录 前言 一. Mybatis关系关联配置的优劣 1.1 MyBatis中的关系关联配置具有以下好处: 1.2 然而,MyBatis中的关系关联配置也存在一些缺点: 二. 关联关系的方向 单向关联 双向关联 三. 一对一关联配置 四. 一对多关联配置 五. 多对多关联配置 MyBatis是一个流行的Java持久化框架,它

    2024年02月09日
    浏览(42)
  • MyBatis:关联查询

    在 MyBatis:配置文件 文章中,最后介绍了可以使用 select 标签的 resultMap 属性实现关联查询,下面简单示例 首先,先创建 association_role 和 association_user 两张数据表,并建立关联关系 表结构如图: 表信息如图: 在创建 association_user 表时需要添加 associat

    2024年02月05日
    浏览(39)
  • Mybatis之关联

    eg:一个用户对应多个订单 建表语句 关联查询:查询custmoer_id=1的用户的所有订单信息和用户信息 Customer实体类: Order实体类: mapper接口: xml配置文件: 测试: 在“对多”关联关系中,同样有很多配置,但是提炼出来最关键的就是:“collection”和“ofType” eg:一个订单对应

    2024年01月22日
    浏览(29)
  • Mybatis关联查询【附实战案例】

    目录 相关导读 一、Mybatis一对一关联查询 1. 新增持久层接口方法 2. 新增映射文件对应的标签

    2023年04月17日
    浏览(62)
  • 详解Mybatis之自动映射 & 自定义映射问题

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 Mybatis中的 自动映射 不是什么高大上的技术名词,而是我们使用Mybatis框架进行持久化层开发时常用select元素中的常见属性 resultType , 它可以自动将数据库内表中的字段与类

    2024年02月15日
    浏览(28)
  • Mybatis/Mybatis-Plus驼峰式命名映射

    目录 一、mybatis驼峰式命名 二、mybatisPlus默认开启驼峰命名映射 方法一: 使用前提:数据库表设计按照规范“字段名中各单词使用下划线\\\"_\\\"划分”; 使用好处:省去mapper.xml文件中繁琐编写表字段列表与表实体类属性的映射关系,即resultMap。 示例: 方法二: mybatis-config.xml文

    2024年02月14日
    浏览(48)
  • Mybatis中的关系映射

    目录 前言 1.一对一的映射关系 1.1 创建模型类和Vo类  1.2 配置当前模型类的mapper.xml 1.3 开始测试 2.一对多的映射关系 2.1 创建模型类和Vo类 2.2 配置当前模型类的mapper.xml 2.3 开始测试 3.多对多的映射关系 总结  注意点:  一对一映射(One-to-One Mapping) : 一对一关系指的是两个

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包