Mybatis面试题目

一、MyBatis 基础认知

1. 什么是 MyBatis?

一句话总结:MyBatis 是轻量级半自动 ORM 框架,专注 SQL 映射,简化 JDBC 操作,开发者写 SQL,框架处理参数绑定、结果映射等底层工作。

  • 前身是 iBatis,2010 年更名;
  • 核心:"半自动化"------ 开发者掌控 SQL,框架解决 JDBC 繁琐的参数设置、结果集解析、连接管理;
  • 核心能力:XML / 注解配置 SQL 与 Java 对象映射,支持动态 SQL、缓存、延迟加载等。

2. MyBatis 的优缺点?

表格

复制代码
<!-- 注册插件 -->
<plugins>
  <plugin interceptor="com.example.MyPlugin">
    <property name="param1" value="value1"/>
  </plugin>
</plugins>

四、核心要点回顾

  1. 核心定位:MyBatis 是 "半自动 ORM",核心优势是灵活可控 SQL,适配复杂业务场景;
  2. 关键特性 :#{} 防注入、<foreach> 批量操作、resultMap 复杂映射、Executor 执行器适配不同 SQL 执行场景;
  3. 扩展能力:分页插件基于拦截器改写 SQL,自定义插件拦截核心组件实现功能增强,二级缓存提升查询性能;
  4. 开发原则:优先用 #{} 避免注入,动态 SQL 简化多条件查询,延迟加载优化关联查询性能,批量操作使用 Batch 执行器。
相关推荐
listening7772 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
黄敬峰2 小时前
从零搭建 DeepSeek-R1 WebGPU 聊天应用(一):进度条组件与 React 核心概念
面试
ShineWinsu3 小时前
对于Linux:模版方法类的解析以及socket、TcpSocket的封装
linux·c++·面试·socket·模板方法模式·封装·tcpsocket
不简说3 小时前
JS 代码技巧 vol.8 — 20 个函数式编程实战,把 if/else 拍扁的骚操作
前端·javascript·面试
天若有情6735 小时前
SpringBoot4 + MyBatis 前后端分离实战|从零实现坏习惯管理系统,支持局域网手机访问CRUD
智能手机·mybatis
我叫黑大帅5 小时前
我为什么单一消费者的场景下,要用 Redis List 当消息队列?
redis·后端·面试
吃饱了得干活5 小时前
亿级订单表分库分表设计,从0到1全流程
java·数据库·面试
空中湖6 小时前
Spring AI Agent 编排:ReAct 模式 + 多 Agent 协作实战
人工智能·spring·react.js
不能只会打代码6 小时前
Day 011 — Spring 全家桶深度拆解
spring boot·mybatis·spring aop·spring mvc·spring ioc
程序员爱钓鱼8 小时前
Go 开发环境安装(Windows、macOS、Linux)
后端·面试·go