千家信息网

mybatis-plus中resultMap怎么用

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下mybatis-plus中resultMap怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!不一致,
千家信息网最后更新 2025年11月07日mybatis-plus中resultMap怎么用

小编给大家分享一下mybatis-plus中resultMap怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

不一致,那么用来接收查询出来的result对应的数据将会是Null,如果不使用resultMap,那么一般为了避免pojo对象对应的属性为Null,会采用SQL语句中的别名,将查询出的数据库中的字段as pojo对象属性,而且,resultMap支持延迟加载

但是为了避免sql语句看着 臃肿,所以就使用了resultMap

简单使用

1. 选定你要进行的resultMap映射的model,如下是我要进行映射的model,model=======>Category.java【进行resultMap的pojo类】

package com.atguigu.gulimall.product.vo;import com.baomidou.mybatisplus.annotation.TableLogic;import com.baomidou.mybatisplus.annotation.TableName;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString;import lombok.experimental.Accessors;@Data@AllArgsConstructor@NoArgsConstructor@ToStringpublic class Category {    private Long catId;    private String name;    private Long parentCid;    private Integer catLevel;    private Integer status;    private Integer sort;    private String iconImage;    private String userName;    private String unit;    private Integer count;    private Integer isDelete;}

注意

不要在你要映射成resultMap的pojo类上加lombok的@Accessors(chain=true)的链式编程的注解,因为resultMap中的属性会报红【但是仍可使用】,如下图这样

2. 在mapper.xml中编写resultMap,并在要使用的sql查询语句里,指定result标签为resultMap和其名称

                                                                                          

resultMap中各标签代表含义

type: resultMap最终映射的java对象,可以使用别名【如果使用resultMap实际返回的对象类型】id:   resultMap的唯一标识【随便起】result: 对普通名映射定义property: type指定的返回的pojo对象中的属性名  写category里的属性名column: 数据库中要查询出的字段【列名】           写要映射的数据库表里的字段名property对应column形成数据库中字段和pojo属性对应关系

注意

如果此时resultMap在另外一个nameSpace里边,即其他的mapper文件里,那么在跨mapper使用时resultMap注明命名空间

3. 测试,直接运行项目

如果在数据库里查询的字段个数少于或多于resultMap,那么依然能够映射成功,就映射对应的字段,因为名称映射不上或者pojo里没有的字段对应的属性,那么直接在返回的pojo 对象里返回null和没有该字段

以上是"mybatis-plus中resultMap怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0