Fork me on GitHub

Mybatis返回一个实体类中部分属性

需求

  • 最近遇到一个事情,前端某个请求只需要后端实体类中的某几个属性,但是数据库中却定义了其他属性,我们如何把其他属性的值排除在外,只获取我们需要的属性值呢?
  • 即原本数据库字段,有很多,但是我们只需要某些字段

解决

方法一:自己定义一个resultMap

  • xml中:type=“java.util.HashMap”
    <!-- 会议总览-->
    <resultMap type="java.util.HashMap" id="RelateResult2">
        <result property="meetingName"    column="meeting_name"    />
        <result property="beginTime"    column="begin_time"    />
        <result property="meetingForm"    column="meeting_form"    />
        <result property="usePlatform"    column="use_platform"    />
        <result property="meetingStatus"    column="meeting_status"    />
    </resultMap>
  • sql语句:只返回需要字段即可
<select id="selectMyList2" resultMap="RelateResult2">-- 会议总览
        SELECT a.meeting_name,a.begin_time,a.meeting_form,a.use_platform,a.meeting_status  FROM meeting_record as a INNER JOIN meeting_participant_list as b ON a.meeting_id = b.meeting_id where b.participant_name=#{name}
    </select>
  • 同时把对应的service和mapper文件里面的对应的方法返回值类型改成List<Map<String, Object>>
  • mapper返回字典对象
  • 新建的是resultMap

resultMap中property的指定值爆红:不用管,可以正常返回字典,可提交svn

image

方法二:很笨的方法。重新新建一个对象实体,该实体文件的字段与要返回的 “部分字段” 一一对应即可

  • resultMap 的type=实体类 指向一个文件,该文件为新建实体类,里面是要返回的 “部分字段”
  • mapper返回实体类对象
  • 新建的是实体类
posted @   ds6666  阅读(1052)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示