map - String, Object
MyBatis的SqlSession中只有selectMap(String statement, Object parameter, String mapKey),此方法将结果集中指定字段作为key,value则是结果集列表的元素对象们;
- 创建对象类
public class CountPO {
private String companyId;
private Integer ct;
public String getCompanyId() {
return companyId;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
public Integer getCt() {
return ct;
}
public void setCt(Integer ct) {
this.ct = ct;
}
}
- DAO 文件 SQL
@MapKey("companyId")
@Select("SELECT company_id, ifnull(sum(count_a + count_b),0) ct" +
" FROM test.com_count" +
" WHERE `is_del`= 0 GROUP BY company_id having ct >0")
Map<String, CountPO> getCount();
Map - column1, column2
List map
使用map 代替 bean
List<Map<String, Object>> getCount();
<select id="getCount" resultType="java.util.HashMap">
SELECT company_id, ifnull(sum(count_a + count_b),0) ct
FROM test.com_count
WHERE `is_del`= 0 GROUP BY company_id having ct > 0
</select>
result
[
{
"company_id": "id1",
"ct": 10
},
{
"company_id": "id2",
"ct": 12
},
...
]