这是我的第一篇文章,使用我糟糕的英语......
我正在使用 MyBatis3.0
在查询中,我使用 SqlBuilder 的方法如下:
public class DataStatisticSqlBuilder extends SqlBuilder{
public String getDataQtyListSql(Map<String, Object> map){
和映射器接口如下:
public interface DataStatisticMapper {
@SelectProvider(type=DataStatisticSqlBuilder.class, method="getDataQtyListSql")
public List<Map<String, Object>> getDataQtyList(@Param("groups")
List<DataStatisticSqlBuilder.Group> groups, @Param("quatity") Integer quatity, @Param("struct") Struct struct);
}
当我打电话时
session.getMapper(DataStatisticMapper.class).getDataQtyList(...some parameters)
我在控制台中得到以下结果输出:
<== Columns: PROJECT, PRJ_COUNT, TAR_COUNT, SITE_COUNT, PARAM_COUNT
<== Row: project A, 1, 1, 0, 0
<== Row: project B, 1, 1, 0, 0
根据上面的输出,预期的结果应该是一个List [Map, Map, ...],但实际结果是[null, null]。似乎结果没有映射到HashMap。如何在此查询中将结果类型设置为 HashMap?
也许使用一些注释,但我没有找到它们。
非常感谢。