例如,我有查询select id, name, age, address from staffs
,而不是拥有Staff对象列表。我希望有一个地图列表,如
list{
map{
("id", 123),
("name","jackie"),
("address", "canada"),
("age",26)
}
map{
("id", 126),
("name","james"),
("address", "canada"),
("age",27)
}
}
是可能的,如果可能的话怎么做?感谢。
答案 0 :(得分:8)
是的,这是可能的。您可以在mapper xml文件中将resultType
设置为Hashmap
,它将返回一个地图列表。
<select id="selectFromStaffs" resultType="Hashmap">
select id, name, age, address from staffs
</select>
你得到同样的方式:
...
List listOfMaps = sqlSession.selectList("selectFromStaffs");
...
您可以在User Guide中了解更多相关信息。
答案 1 :(得分:4)
在mapper xml类型resultType
中"map"
或"Hashmap"
,mapper接口必须将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();
}