MyBatis映射配置文件详解

本文详细介绍了MyBatis映射配置文件的规范及使用方法,包括文件命名与位置建议、核心配置文件内容,以及select、insert、update、delete等语句的属性说明,并深入解析了resultMap和sql元素的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------siwuxie095

  

  

  

  

  

  

  

  

MyBatis 映射配置文件详解

  

  

1、映射配置文件的名称和位置没有固定要求

  

1)位置:建议在映射器接口所在包

  

2)名称:建议为映射器接口名.xml

  

  

  

2、核心配置文件的内容全部写在根标签<mapper>

  

  

  

3、映射配置文件的内容组成:映射语句(主要)

  

1)映射插入语句:insert

  

2)映射更新语句:update

  

3)映射删除语句:delete

  

4)映射查询语句:select

  

其中:

  

数据查询语句:select,数据变更语句:insert、update、delete

  

CRUD 操作中,查询操作 select 最常用

  

  

  

  

4、映射配置文件中包含的元素如下图

  

  

  

  

  

5、核心配置文件中的主要标签

  

1select(映射查询语句)

  

1

  

属性:id

  

描述:在当前命名空间中的唯一标识符,可被用来引用该语句

  

「可通过namespace.id 的方式引用当前映射语句」

  

  

2

  

属性:parameterType

  

描述:指定参数的 Java 类型,进行参数映射

  

「该属性是可选的,即可以省略」

  

  

3

  

属性:resultType

  

描述:指定返回结果的 Java 类型,进行结果映射

  

「该属性是必须的,即不能省略」

  

  

4

  

属性:resultMap

  

描述:指定外部resultMap 标签的 id,进行结果映射

  

  

  

注意:

  

1)parameterType 可省略不写,MyBatis 将自动进行参数映射

  

2)使用resultType 时,如果是集合情形,那应该是集合包含的类型,而不能是集合本身

  

3)同一条映射语句中,resultType 和 resultMap 不能同时使用

  

  

  

2insert(映射插入语句)、update(映射更新语句)

  

1

  

属性:useGeneratedKeys

  

描述:是否开启数据库自增主键回填,即keyColumn 的字段

回填到 keyProperty 的属性中

  

  

2

  

属性:keyProperty

  

描述:定义数据库中自增主键的字段名

  

  

3

  

属性:keyColumn

  

描述:定义实体类中对应自增主键的属性名

  

  

  

注意:

  

1)以上三个属性仅对insert 和 update 有用

  

2)当需要在insert 和 update 中开启自增主键回填时,以上三个属性都要配置

  

3)当keyProperty 和 keyColumn 一致时,keyColumn 可省略不写,但建议都写

  

  

  

  

3delete(映射删除语句)

  

除了useGeneratedKeys、keyProperty、keyColumn 三个属性外,

同 insert、update

  

  

  

4resultMap(结果映射)

  

1)resultMap 是最复杂也是最强大的元素,用来描述如何从数据库结果集

中来加载对象

  

  

2)使用resultMap 可以解决两大问题

  

<1>表中字段名和实体类属性名不一致的问题

  

<2>完成高级结果映射(也称高级查询),如:一对一、一对多、多对多

  

  

3)属性:id、type、autoMapping(默认开启)

  

  

4)resultMap 可以通过 extends 属性进行继承、扩展

  

  

  

4sql(可重用语句块)

  

用于定义可重用的SQL 代码段,且可以包含在其它语句中,称为 SQL 片段

  

可以将公用的SQL 片段集中写到一个映射配置文件中,在其他的映射配置

文件中,如果想要引用,需要通过namespace.id 的方式调用

  

  

  

  

  

  

  

  

  

  

【made by siwuxie095】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值