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的指定值爆红
方法二:很笨的方法。重新新建一个对象实体,该实体文件的字段与要返回的 “部分字段” 一一对应即可
- resultMap 的type=实体类 指向一个文件,该文件为新建实体类,里面是要返回的 “部分字段”
- mapper返回实体类对象
- 新建的是实体类
标签:返回,mapper,实体类,resultMap,Mybatis,meeting,属性 来源: https://www.cnblogs.com/ds521/p/16159079.html