全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页

MyBatis 初级技能认证测试

20 题 60 分钟 难度:

考察知识点

  1. MyBatis 概述与环境搭建:框架特点、与 Hibernate 的区别、开发环境配置、程序执行流程
  2. SQL 映射文件基础:mapper 根元素、namespace 作用、增删改查标签及属性
  3. 参数传递与结果映射:单/多参数传递方式、resultType 与 resultMap 区别、基本类型结果集
  4. 基本 CRUD 实战:select/insert/update/delete 标签使用、动态 SQL 基础、事务控制
  5. 接口绑定与动态代理:Mapper 接口定义、JDK 动态代理原理、注解与 XML 混合使用
  6. 日志配置与调试:日志框架集成、logImpl 配置、SQL 日志输出
  7. 核心配置文件:configuration 元素结构、environments 配置、typeAliases 类型别名
1
单选题

关于 MyBatis 与 Hibernate 的区别,以下描述正确的是?

A

MyBatis 是全自动 ORM 框架,Hibernate 是半自动框架

B

MyBatis 需要手动编写 SQL,Hibernate 自动生成 SQL

C

两者都是全自动 ORM 框架,没有本质区别

D

Hibernate 需要手动编写 SQL,MyBatis 自动生成 SQL

2
填空题

MyBatis 程序的标准执行流程是:首先通过________________________创建 SqlSessionFactory,然后由 SqlSessionFactory 创建__________,最后通过 SqlSession 获取______接口执行数据库操作。

3
多选题

在 MyBatis 开发环境搭建过程中,配置日志(如 log4j、logback)的主要作用有哪些?

A

查看执行的 SQL 语句

B

查看 SQL 参数绑定信息

C

查看数据库连接池状态

D

查看 MyBatis 内部调试信息

4
单选题

在 MyBatis 的 SQL 映射文件中,mapper 根元素的 namespace 属性的作用是什么?

A

指定数据库的名称

B

绑定对应的 Mapper 接口的全限定类名,用于定位 SQL 语句

C

配置数据库连接池

D

设置日志输出级别

5
判断题

在 MyBatis 中,delete 标签只能用于执行物理删除(DELETE 语句),不能用于实现逻辑删除。

A

B

6
填空题

请填写以下 MyBatis delete 标签中的属性名称:

XML
<delete 
  !!1_!!="deleteUser" 
  !!2_!!="com.example.User" 
  flushCache="true" 
  timeout="30">
  DELETE FROM users WHERE id = #{id}
</delete>
7
单选题

在 MyBatis 的 Mapper XML 中,当接口方法只有一个参数时,以下哪种 #{} 写法是正确的?

A

必须使用 #{param1} 才能获取到参数值

B

可以使用任意名称,如 #{id}#{value} 都可以

C

必须使用 #{0} 才能获取到参数值

D

必须与方法参数名完全一致,如 #{userId}

8
单选题

关于 MyBatis 中 resultMapresultType 的区别,以下描述正确的是?

A

resultType 适用于复杂映射,resultMap 适用于简单映射

B

resultType 要求数据库列名与 Java 属性名完全一致,resultMap 可以自定义列与属性的映射关系

C

resultMap 只能用于一对一映射,不能用于一对多

D

使用 resultType 时必须配置驼峰转换,否则无法映射任何字段

9
多选题

在 MyBatis 中,以下哪些场景适合使用基本类型作为返回值?

A

使用 COUNT() 函数统计记录数量,返回 Long

B

使用 SELECT MAX() 获取最大值,返回 Integer

C

查询用户是否存在,返回 Boolean

D

查询用户列表,返回 List<User>

10
单选题

在 MyBatis 的 Mapper XML 文件中,&lt;select&gt; 标签用于定义查询语句。以下关于 &lt;select&gt; 标签常用属性的描述,哪一项是错误的?

A

id 属性用于唯一标识该语句,必须与 Mapper 接口中的方法名一致

B

resultType 属性指定查询结果的全限定类名或别名,适用于列名与属性名一致的场景

C

resultMap 属性引用外部 &lt;resultMap&gt; 定义,适用于列名与属性名不一致或需要复杂映射的场景

D

parameterType 属性是必填项,不指定会导致 MyBatis 无法解析 SQL

11
多选题

在 MyBatis 中实现条件更新(UPDATE)时,以下关于动态 SQL 的使用描述,哪些是正确的?

A

使用 &lt;set&gt; 标签可以自动去除最后一个字段赋值后的逗号

B

使用 &lt;if&gt; 标签包裹每个字段的赋值语句,可以实现只更新非空字段

C

&lt;set&gt; 标签内部不能嵌套 &lt;if&gt; 标签

D

使用 &lt;trim&gt; 标签设置 prefix="SET" suffixOverrides="," 可以实现与 &lt;set&gt; 标签相同的效果

12
单选题

MyBatis 实现 Mapper 接口与 XML 映射文件绑定的核心机制是什么?

A

编译时注解处理

B

JDK 动态代理 + XML 解析

C

CGLIB 字节码增强

D

AOP 切面拦截

13
多选题

以下关于 Mapper 接口定义方式,哪些是正确的?

A

可以使用 @Select、@Insert 等注解直接在接口方法上编写 SQL

B

使用注解编写 SQL 时,仍然需要编写 XML 映射文件

C

同一个接口可以部分方法使用注解、部分方法使用 XML 映射

D

注解方式编写的 SQL 不能使用动态 SQL 功能

14
判断题

MyBatis 自身内置了一个独立的日志实现模块,无需依赖任何第三方日志框架即可直接输出日志。

A

B

15
填空题

在 MyBatis 的 mybatis-config.xml 中,要将日志实现切换为 SLF4J,需要在 settings 中添加如下配置:

XML
<settings>
  <setting name="__________" value="______"/>
</settings>

请填写配置项名称和对应的 SLF4J 配置值。

16
单选题

MyBatis 核心配置文件中,<configuration> 的子元素必须按照特定顺序声明,以下哪个选项的顺序是正确的?

A

settings → properties → environments → mappers

B

properties → settings → typeAliases → environments → mappers

C

typeAliases → properties → settings → mappers → environments

D

environments → properties → settings → typeAliases → mappers

17
多选题

在 MyBatis 中,每个 <environment> 元素内部必须包含哪些子元素?

A

transactionManager,用于配置事务管理器

B

dataSource,用于配置数据源

C

mapper,用于配置映射文件

D

property,用于配置环境变量

18
单选题

在 MyBatis 中,以下关于 <typeAliases> 的描述错误的是?

A

typeAliases 可以为 Java 类型设置一个短名字,减少类名冗余

B

可以使用 <typeAlias> 为单个类设置别名

C

使用 <package> 扫描包时,默认别名为类名的小写形式

D

typeAliases 配置会覆盖 MyBatis 内置的类型别名(如 int、string 等)

19
判断题

MyBatis 核心配置文件(mybatis-config.xml)中各配置元素的顺序是固定的,不能随意调换。

A

B

20
多选题

关于 MyBatis 中 SqlSession 的事务控制,以下哪些描述是正确的?

A

默认情况下,SqlSession 的事务是自动提交的

B

调用 sqlSession.commit() 方法可以提交当前事务

C

调用 sqlSession.rollback() 方法可以回滚当前事务

D

在创建 SqlSession 时可以指定 autoCommit 参数开启自动提交

← 上一个试卷 MyBatis 中级技能认证测试
下一个试卷 → MyBatis 概述与环境搭建专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库