一、单选题
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
如有错误,欢迎指正!!!文章来源地址https://www.toymoban.com/news/detail-426949.html
到了这里,关于MyBatis关联映射相关习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!