springboot mybatis

MyBatis(常写作 MyBatis ,不是 mybatis)里常说的"关键字",一般包含 SQL 关键字 、MyBatis XML 标签(动态 SQL) 、映射配置关键字 三类。下面给你一份常用速查清单,适合面试 + 日常开发。


一、MyBatis XML 常用标签(最重要)

标签 作用
<select> 查询 SQL
<insert> 插入 SQL
<update> 更新 SQL
<delete> 删除 SQL
<resultMap> 结果集映射
<parameterMap> 参数映射(已不推荐)
<sql> 定义可复用 SQL 片段
<include> 引入 SQL 片段
<cache> 二级缓存配置
<cache-ref> 引用其他 namespace 的缓存

二、动态 SQL 关键字(高频考点)

标签 说明
<if> 条件判断
<choose> / <when> / <otherwise> 类似 switch-case
<trim> 去多余逗号/AND/OR
<where> 自动处理 WHERE
<set> 自动处理 SET
<foreach> 遍历集合(IN、批量)
<bind> 绑定变量(常用于模糊查询)

✅ 示例(<where> + <if>):

xml 复制代码
<select id="selectUser">
  SELECT * FROM user
  <where>
    <if test="name != null">
      AND name = #{name}
    </if>
  </where>
</select>

三、SQL 中 MyBatis 常用关键字(结合 JDBC)

关键字 说明
#{} 预编译参数(防 SQL 注入 ✅)
${} 字符串拼接(有注入风险 ⚠️)
resultType 返回类型
resultMap 自定义结果映射
parameterType 参数类型
useGeneratedKeys 获取自增主键
keyProperty 主键字段
keyColumn 数据库主键列
flushCache 是否刷新缓存
useCache 是否使用二级缓存
timeout SQL 超时时间
fetchSize JDBC fetchSize

四、Mapper 接口相关关键字(注解)

注解 说明
@Select 查询
@Insert 插入
@Update 更新
@Delete 删除
@Param 给参数命名
@Result 字段映射
@Results 多个 Result
@One 一对一
@Many 一对多

五、关联映射关键字(ResultMap)

标签 说明
<id> 主键
<result> 普通字段
<association> 一对一
<collection> 一对多
columnPrefix 列前缀
lazyLoadingEnabled 延迟加载
aggressiveLazyLoading 侵入式懒加载

六、MyBatis 核心配置(mybatis-config.xml)

配置项 说明
<configuration> 根标签
<environments> 环境配置
<environment> 单个环境
<transactionManager> 事务管理器
<dataSource> 数据源
<mappers> Mapper 扫描
<typeAliases> 别名
<plugins> 插件(分页、拦截器)

七、常见面试一句话总结 ✅

MyBatis 常用关键字 = SQL 关键字 + 动态 SQL 标签 + #{} / ${} + resultMap + 缓存配置


相关推荐
木头科技8 小时前
【AI 工程化第八篇】Spring AI 多模型路由实战:DeepSeek、通义、Kimi、OpenAI 如何统一接入和自动切换
java·人工智能·spring
我是人✓9 小时前
Spring IOC注解全解析和Spring整合测试单元
java·后端·spring
ab1237689 小时前
Spring Integration 完整笔记 + 和 spring-integration-mqtt、Paho、EMQX 的关系
java·笔记·spring
HelloWorld工程师10 小时前
@Primary 注解
java·spring
代码什么用20 小时前
Spring基础使用
java·后端·spring
代码什么用20 小时前
Spring对IoC的实现
数据库·spring
Su米苏20 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
java资料站1 天前
二、Spring AI Alibaba · ChatModel
java·windows·spring
java资料站1 天前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
bst@微胖子1 天前
Spring AI (5) : MCP 深度实战:从工具抽取到鉴权,SSE 与 STDIO
人工智能·spring·dubbo