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 + 缓存配置


相关推荐
中国胖子风清扬3 小时前
PageIndex:用推理替代向量的下一代 RAG 架构
java·spring boot·python·spring·ai·embedding·rag
长谷深风1113 小时前
SpringBoot开发秘籍【个人八股】
java·spring boot·后端·spring·八股
专吃海绵宝宝菠萝屋的派大星3 小时前
spring Ai 开发的mcp-由sse改成Streamable HTTP
人工智能·spring·http
fuquxiaoguang4 小时前
修一个Bug,引入另一个Bug:从Tomcat高危漏洞看中间件安全修复的困境
中间件·tomcat·安全漏洞·cve-2026-34486
Devin~Y4 小时前
大厂Java面试实录:Spring Boot/Cloud、JVM、Redis、Kafka、MyBatis 到 RAG/Agent 的三轮连环问(含答案详解)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
benpaodeDD4 小时前
视频44——Tomcat标准输出流乱码问题
java·tomcat
丑八怪大丑4 小时前
XML_Tomcat_HTTP
xml·http·tomcat
cheems952716 小时前
[Spring MVC] 统一功能与拦截器实践总结
java·spring·mvc
青云计划17 小时前
Feed流
java·后端·spring