2010-12-03 58 views
2

例如,我有查詢select id, name, age, address from staffs,而不是有一個Staff對象列表。我寧願有一份地圖清單,因爲是否有可能從myBatis生成地圖列表

list{ 
    map{ 
    ("id", 123), 
    ("name","jackie"), 
    ("address", "canada"), 
    ("age",26) 
    } 
    map{ 
    ("id", 126), 
    ("name","james"), 
    ("address", "canada"), 
    ("age",27) 
    } 

} 

是否可能,以及如何做到這一點,如果可能?謝謝。

回答

7

是的,這是可能的。您可以在您的映射器xml文件中將resultType設置爲Hashmap,並且它將返回一張映射列表。

<select id="selectFromStaffs" resultType="Hashmap"> 
    select id, name, age, address from staffs 
</select> 

,你會得到同樣的方式:

... 
List listOfMaps = sqlSession.selectList("selectFromStaffs"); 
... 

您可以在User Guide閱讀更多關於它。

3

在XML映射類型resultType"map""Hashmap",映射器接口您必須編寫reutrn類型爲"List"

StaffMapper.xml

<select id="getStaffList" resultType="map"> 
    select id, name, age, address from staffs 
</select> 

StaffMapper.java

import java.util.List; 
import java.util.Map; 
public interface StaffMapper { 
    List<Map<String, Object>> getStaffList();//List getStaffList(); 
} 
相關問題