mysql+mybatis参数为一个集合或数组一个为其它类型Mybatis取值失败

版权声明:本文为博主原创文章,创作不易转载请注明出处 https://blog.csdn.net/awangwu/article/details/82882074
dao层接口为: 

List<Menu> listMenueByIdAndLevel(@Param("ids") List<Integer> ids,@Param("level") Integer level);

//Mapper.xml中collection="ids"有时会失效

//解决办法

ServiceImpl业务层
//将参数封装
Map params=new HashMap();
params.put("xxx",xxx);
params.put("xxx",xxx);
params.put("xxx",xxx);


//调Dao方法 问题解决
listMenueByIdAndLevel(params)





dao层接口改为: 
 
List<Menu> listMenueByIdAndLevel(Map params);
对应xml:</select>
  <select id="listMenueByIdAndLevel" resultMap="BaseResultMap">
    SELECT *
    FROM menu
    WHERE menu_Id IN 
    <foreach collection="ids" open="(" close=")" separator="," item="id">
      #{id}
    </foreach>
    AND menu_Level = #{level}
  </select>

猜你喜欢

转载自blog.csdn.net/awangwu/article/details/82882074