2010-12-03 2 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

Да, это возможно. Вы можете установить resultType как Hashmap в свой XML-файл mapper, и он вернет список карт.

<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(); 
} 
Смежные вопросы