MyBatis Mapper XML 核心知识笔记(入门)

AI-摘要
LNotes-AI GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
MyBatis Mapper XML 核心知识笔记(入门)
Liuxz一、Mapper XML 基础结构
1 |
|
<?xml ... ?>:XML 文档声明,指定版本和编码。<!DOCTYPE ... >:MyBatis Mapper 的 DTD 约束,用于校验 XML 结构合法性。<mapper namespace="...">:命名空间,需与对应的 Mapper 接口全类名一致,是 XML 与接口绑定的关键。
二、Mapper XML 与 DAO 接口的映射关系
| DAO 层概念 | Mapper XML 对应配置 | 说明 |
|---|---|---|
| DAO 接口 | <mapper namespace="接口全类名"> |
命名空间与接口全类名一一对应 |
| DAO 方法 | CRUD 标签的 id 属性 |
id 需与接口方法名完全一致 |
| 方法返回值类型 | CRUD 标签的 resultType 或 resultMap |
对应方法的返回值类型(实体类、基本类型等) |
| 方法参数 | CRUD 标签内的 #{参数名} |
对应方法的参数,支持 OGNL 表达式取值 |
三、CRUD 标签使用(以员工表 t_emp 为例)
1. 查询(<select>)
1 | <select id="方法名" resultType="实体类全类名"> |
id:与 Mapper 接口方法名一致。resultType:指定查询结果的封装类型(实体类、List 等)。
2. 新增(<insert>)
普通新增
1 | <insert id="方法名"> |
自增 ID 自动回填
1 | <insert id="方法名" useGeneratedKeys="true" keyProperty="实体类中ID属性名"> |
useGeneratedKeys="true":开启自增主键回填功能。keyProperty="empId":指定实体类中接收自增 ID 的属性名。
3. 修改(<update>)
1 | <update id="方法名"> |
4. 删除(<delete>)
1 | <delete id="方法名"> |
四、核心优势与规范
- 解耦性:SQL 与 Java 代码分离,便于维护和优化。
- 映射规范:
namespace与接口全类名一致,id与方法名一致,保证 XML 与接口的强绑定。 - 参数与结果映射:通过
#{参数名}取参,resultType/resultMap封装结果,简化数据操作流程。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果



