Mybatis-利用resultMap 輸出復雜pojo


個:復雜的sql語句查詢的數據集的字段和 pojo的字段不相同,需要用到resultMap做一個對應。

----------------

mybatis中使用resultMap完成高級輸出結果映射。

1.1.1 resultMap使用方法

如果查詢出來的列名和pojo的屬性名不一致,通過定義一個resultMap對列名和pojo屬性名之間作一個映射關系。

1、定義resultMap

2、使用resultMap作為statement的輸出映射類型 

1.1.2 將下邊的sql使用User完成映射

SELECT id id_,username username_ FROM USER WHERE id=#{value}

User類中屬性名和上邊查詢列名不一致。

==================

1.1 resultMap

resultType可以指定pojo將查詢結果映射為pojo,但需要pojo的屬性名和sql查詢的列名一致方可映射成功。

如果sql查詢字段名和pojo的屬性名不一致,可以通過resultMap將字段名和屬性名作一個對應關系 ,resultMap實質上還需要將查詢結果映射到pojo對象中。

resultMap可以實現將查詢結果映射為復雜類型的pojo,比如在查詢結果映射對象中包括pojolist實現一對一查詢和一對多查詢。

1.1.1 Mapper.xml定義

  

使用resultMap指定上邊定義的personmap

1.1.1 定義resultMap

由於上邊的mapper.xmlsql查詢列和Users.java類屬性不一致,需要定義resultMapuserListResultMapsql查詢列和Users.java類屬性對應起來

  

<id />:此屬性表示查詢結果集的唯一標識,非常重要。如果是多個字段為復合唯一約束則定義多個<id />

Property:表示person類的屬性。

Column:表示sql查詢出來的字段名。

Columnproperty放在一塊兒表示將sql查詢出來的字段映射到指定的pojo類屬性上。

<result />:普通結果,即pojo的屬性。


免責聲明!

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



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