輸出映射
接下來說說有關mapper.xml配置檔案中查詢标簽中關于傳回值類型resulttype與resultmap的一些内容
1.resulttype
使用resulttype進行輸出映射,隻有查詢出來的列名和pojo中的屬性名一緻,該列才可以映射成功。
如果查詢出來的列名和pojo中的屬性名全部不一緻,沒有建立pojo對象。
隻要查詢出來的列名和pojo中的屬性有一個一緻,就會建立pojo對象。
1.1輸出簡單類型
1.1.1需求
使用者資訊的綜合查詢清單總數,通過查詢總數和上邊使用者綜合查詢清單才可以實作分頁。
1.1.2mapper.xml
1.1.3mapper.java
1.1.4測試代碼
測試結果:
總數為:2
輸出日志:
1.1.5小結
查詢出來的結果集隻有一行且一列,可以使用簡單類型進行輸出映射。(輸出簡單類型的要求)
1.2輸出pojo對象和pojo清單
不管是輸出的pojo單個對象還是一個清單(list中包括pojo),在mapper.xml中resulttype指定的類型是一樣的。
在mapper.java指定的方法傳回值類型不一樣:
(1)輸出單個pojo對象,方法傳回值是單個對象類型
(2)輸出pojo對象list,方法傳回值是list<pojo>
生成的動态代理對象中是根據mapper方法的傳回值類型确定是調用selectone(傳回單個對象調用)還是selectlist (傳回集合對象調用 ).
(3)輸出hashmap
輸出pojo對象可以改用hashmap輸出類型,将輸出的字段名稱作為map的key,value為字段值。如果是集合,那就是list裡面套了hashmap。
2.resultmap
mybatis中使用resultmap完成進階輸出結果映射。
2.1resultmap使用方法
如果查詢出來的列名和pojo的屬性名不一緻,通過定義一個resultmap對列名和pojo屬性名之間作一個映射關系。
下面來進行實驗,實驗需求
2.2将下邊的sql使用user完成映射
select id id_,username username_ from user where id=#{value}
user類中屬性名和上邊查詢列名不一緻。
resultmap使用方法:(一下屬性均定義在mapper.xml映射檔案中)
(1)定義resultmap
(2)使用resultmap作為statement的輸出映射類型
(3)mapper接口類中添加相應方法
測試:
張三
小結
轉載請注明出處:http://blog.csdn.net/acmman/article/details/46509375