JeecgBoot 3.0 mapper不对map参数?
JeecgBoot 3.0是用mybatis-plus,应该能支持多参数?但3.0却不行,如下图:/**
* 多参数据 查系统字典
* @param pageSize
* @param pageNo
* @return
*/
IPage<SysDict> queryPageList(Map<String, Object> map, int pageSize, int pageNo);
mapper.xml写法:
<select id="queryPageList" parameterType="map"resultType="org.jeecg.modules.system.entity.SysDict">
select s.dict_Name as "value",s.dict_code as "text" from sys_dict s
<if test="dictName != null and dictName != ''">
s.dict_Name = #{dictName}
</if>
<if test="dictCode != null and dictCode != ''">
s.dict_code = #{dictCode}
</if>
</select>
报错信息:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'dictName' not found. Available parameters are
问题解决了,对于在Mapper.java中的方法如果返回的不是Ipage<>,则跟mybatis一样,可以随意用map,但如果返回的是是Ipage<>,则参数必须要写成 @Param("map")Map<String, Object> map 这样,而且在对应的xml中要用map.name完整判断,如<if test="map.name != null and map.name != ''">
页:
[1]