ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-04-18 12:35:17  阅读:190  来源: 互联网

标签:返回 mapper 实体类 resultMap Mybatis meeting 属性


需求

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

解决

方法一:自己定义一个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的指定值爆红

image

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

  • resultMap 的type=实体类 指向一个文件,该文件为新建实体类,里面是要返回的 “部分字段”
  • mapper返回实体类对象
  • 新建的是实体类

标签:返回,mapper,实体类,resultMap,Mybatis,meeting,属性
来源: https://www.cnblogs.com/ds521/p/16159079.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有