SQL 映射文件基础专题测试
考察知识点
- mapper 根元素与 namespace 属性绑定
- select 查询标签及常用属性(id、resultType、resultMap、parameterType、fetchSize)
- insert 插入标签及主键生成(useGeneratedKeys、keyProperty、selectKey)
- update 更新标签及缓存属性(flushCache、timeout)
- delete 删除标签与逻辑删除实现
- 动态 SQL 基础(set + if 组合实现按需更新)
1
单选题
在 MyBatis 的 SQL 映射文件中,mapper 根元素的 namespace 属性的作用是什么?
2
单选题
在 MyBatis 的映射文件中,以下哪个标签用于定义查询 SQL 语句?
3
单选题
在 MyBatis 中执行插入操作并希望获取数据库自动生成的主键值,应该在 insert 标签中配置哪个属性?
4
单选题
在 MyBatis 映射文件中,用于定义 UPDATE 更新语句的标签是?
5
判断题
在 MyBatis 中,delete 标签只能用于执行物理删除(DELETE 语句),不能用于实现逻辑删除。
6
多选题
MyBatis 的 <select> 标签支持多种属性配置,以下哪些是 select 标签的有效属性?
7
多选题
关于 MyBatis 中 <insert> 标签的属性,以下说法正确的有哪些?
8
多选题
关于 MyBatis 中 <update> 标签的属性,以下说法正确的有哪些?
9
填空题
请填写以下 MyBatis delete 标签中的属性名称:
XML
<delete
!!1_!!="deleteUser"
!!2_!!="com.example.User"
flushCache="true"
timeout="30">
DELETE FROM users WHERE id = #{id}
</delete>
10
填空题
请填写以下 MyBatis mapper 映射文件中的空白部分:
XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<______2_!!="com.example.mapper.UserMapper">
<select id="findById" resultType="User">
SELECT * FROM users WHERE id = #{id}
</select>
</mapper>
11
简答题
在 MyBatis 中,某些数据库(如 Oracle)不支持自动生成主键。请说明如何使用 <selectKey> 标签在 <insert> 语句中实现主键生成,并写出一个完整的示例(假设使用 Oracle 的序列 user_seq)。
12
简答题
在 MyBatis 映射文件中,如何使用 <set> 和 <if> 标签组合实现动态更新?假设有一个 User 实体类包含 id、name、email、age 四个属性,请编写一个 update 语句,要求只更新传入的非空字段,未传入的字段保持原值不变。同时说明与直接写全字段更新相比的优势。
📝 发现内容有误?点击此处直接编辑
想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析
长按或扫描二维码,立即体验