MyBatis 概述

面试速查:MyBatis 面试题 37 道 · 前置 JDBC

实战笔记(建议顺序)#

顺序笔记内容
1环境与 Mapperpom.xmlmybatis-config.xml、Mapper 接口与 XML
2user 表 CRUDSqlSession 增删改查
3动态 SQLif / where / foreach
4事务与批量commit/rollback、ExecutorType.BATCH

库表与 JDBC 共用:见 JDBC 环境与 user 表 中的 schema.sqlseed.sql

是什么#

MyBatis 封装 JDBC:你写 SQL(XML/注解),框架做参数绑定与结果映射。相比 Hibernate 全自动 ORM,SQL 可控、易优化

面试常问速记(1 年岗)#

考点要点
#{} vs ${}#{} 预编译防注入;${} 字符串拼接,仅动态表名/列名
动态 SQL<if><where><foreach>
Mapper 与 XMLnamespace = 接口全名;标签 id = 接口方法名
与 Spring@MapperScan + mapper-locations

→ 实战 环境与 Mapper · 动态 SQL

一次调用链路#

mybatis-config.xml + UserMapper.xml
→ SqlSessionFactory → SqlSession
→ UserMapper 接口(JDK 动态代理)
→ Executor 执行 SQL → 映射为 User

与 JDBC / Hibernate#

JDBCMyBatisHibernate
SQL全手写 + 样板代码手写 + 映射多数自动生成
结果映射手写 mapRowresultMap / 驼峰注解实体

增强层:MyBatis-Plus 概述(单表 CRUD 代码更少,复杂 SQL 仍用 MyBatis XML)。

Executor(面试)#

类型行为
SIMPLE每次新建 Statement
REUSE复用 Statement
BATCH批量 addBatch,适合大批量 insert

Spring Boot 集成见 Spring Boot Web 与运维

文章目录

文章目录