mybatis xml:
<select id="getList" parameterType="list" resultMap="BaseResultMap">
select * from tbl
<where>
and id in
<foreach collection="list" item="item" open="("
separator="," close=")">
#{item}
</foreach>
</where>
</select>
java :
List<Long> idlist = new ArrayList<Long>();
idlist.add(1L);
idlist.add(21L);
List<vo> l = dao.selectList("getList", idlist);
ERROR:
org.apache.ibatis.binding.BindingException: Parameter 'needMeta' not found. Available parameters are [collection,list]
mybatis froeach 为什么会报错?哪里写错了吗?
只有close应该还有(吧
dao.selectList("getList",idlist)
这个selectList方法的第二个形参,参数名称是什么? 是needMeta吗?如果不是,请换个名字让他和mapperxml里面的变量名一致,或者是,给这第二个形参加一个注解@Param("needMeta")。
试试看吧。
根据mybatis的API,直接传入LIST,会自动包装成一个list为Key值的map,在XML中直接用list来获取<selectid="getList"resultMap="BaseResultMap">select*fromtbl<where>andidin<foreachcollection="list"item="item"open="("separator=","close=")">#{item}</foreach></where></select>
试过了,一样的错误信息去掉参数类型试试
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。