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返回實體類對象
  • 新建的是實體類


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM