xiongw 发表于 2021-11-13 18:56:43

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

xiongw 发表于 2021-11-14 15:22:30

问题解决了,对于在Mapper.java中的方法如果返回的不是Ipage<>,则跟mybatis一样,可以随意用map,但如果返回的是是Ipage<>,则参数必须要写成 @Param("map")Map<String, Object> map 这样,而且在对应的xml中要用map.name完整判断,如<if test="map.name != null and map.name != ''">
页: [1]
查看完整版本: JeecgBoot 3.0 mapper不对map参数?