关于SQL映射文件中的<resultMap>标签

本文详细介绍了 MyBatis 中的 &lt;resultMap&gt; 标签使用方法,包括如何通过此标签实现实体类属性与数据库字段的一一对应,以及如何处理多表查询结果映射到单一结果集的问题。

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

  • <resultMap>标签

  <resultMap>标签是MyBatis中最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中的数据)映射到一个结果集中

  • <resultMap>中的元素

<resultMap id=”唯一的标识” type=”映射的pojo对象”>

         <id column=”表的主键字段” jdbcType=”字段类型” property=“映射的pojo对象的属性”/>

         <result column=”表中除了主键的其他任意字段” jdbcType=”字段类型” property=”映射的pojo对象的属性”/>

 

         <association property=”pojo的一个属性” javaType=”pojo关联的另外一个pojo对象”>

                   <id column=”被关联的pojo对象对应的表的主键字段” jdbcType=”字段类型” property=”被关联的pojo对象的属性”/>

                   <result column=”被关联的pojo对象对应的表的其他任意字段” jdbcType=”字段类型” property=“被关联的pojo对象的属性”/>

         </association>

 

         <collection property=”pojo中的集合属性” ofType=”pojo集合属性对应的另外一个pojo对象”>

                   <id column=”pojo集合属性对应的表的主键” jdbcType=”字段类型” property=“pojo集合属性对应的另外一个pojo对象的主键属性”/>

                   <result column=”pojo集合属性对应的表的除了主键之外的其他字段” jdbcType=”字段类型” property=“pojo集合属性对应的另外一个pojo对象的属性”/>

         </collection>

</resultMap>

  • 作用

主要作用于在自己定义实体类中的属性名和数据库中的字段名不一样,可以通过此方法来将实体类中的属性名和数据表中的字段名一一对应。还可以作用于多表查询,在SQL映射文件中只需要写一个多表查询的SQL语句,可以通过此方法,将查询到的复杂数据映射到一个结果集中,然后对于多个表进行一一对应。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值