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


相关推荐
CoderYanger17 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
郭小李17 小时前
spring中@Transactional注解对事务的支持
数据库·spring·oracle
郭小李19 小时前
mybatis的 Mapper.xml语法
xml·java·mybatis
m0_6399069420 小时前
MyBatis 实现分页查询|逻辑分页、物理分页、PageHelper 原理
mybatis
步行cgn1 天前
FormHttpMessageConverter 详解:Spring MVC 中表单数据的读写转换器
java·spring·mvc
霸道流氓气质1 天前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
captain3761 天前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
步行cgn1 天前
Spring MVC + Thymeleaf 模板解析失败:从 500 错误到页面正常显示
java·spring·mvc
学到老活到老1 天前
第 24 集:配置文件写了 80,Spring Boot 为什么读到 90?
java·后端·spring
Flynn Liang1 天前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai