Mybatis的Mapper方法中传递map参数的写法
当我们在进行数据分页查询时,如果想让Mybatis的分页查询返回Map对象的集合,我们需要在查询的方法上使用单个参数或者使用Map对象作为参数进行传递。
第一种方式:使用单个参数。
@Select({
"select aab001,aab002 from ab01 where aad101 = #{aad101}",
" order by aad101 desc"
})
public List<Map<String,Object>> selectPageList(Page<Map<String,Object>> page, @Param("aad101) String aad101);
第二种方式:使用Map对象。
@Select({
"select aab001,aac002 from ab01 where aad101 = #{params.aad101}",
" order by aad101 desc"
})
public List<Map<String,Object>> selectPageList(Page<Map<String,Object>> page, @Param("params") Map<String,Object> params);
第三种方式:使用Map对象但不加@Param注释
@Select({
"select aab001,aac002 from ab01 where aad101 = #{aad101}",
" order by aad101 desc"
})
public List<Map<String,Object>> selectPageList(Page<Map<String,Object>> page, Map<String,Object> params);
注意,此时返回的集合只能用Map对象接受,否则会报类型转换错误的哦!