mybatis找不到参数 Parameter 'page' not found. Available parameters are [1, 0, param1, param2]
List<User>findAll2(Integerpage,Integerrows);<selectid="findAll2"parameterType="java.l...
List<User> findAll2(Integer page,Integer rows);
<select id="findAll2" parameterType="java.lang.Integer" resultType="User">
select * from user limit #{page} ,{rows}
</select> 展开
<select id="findAll2" parameterType="java.lang.Integer" resultType="User">
select * from user limit #{page} ,{rows}
</select> 展开
2个回答
展开全部
1.查看parameterType的类型是不是java.util.List类型,如果是的话,看foreach 的collection属性是不是list,
因为 传递一个 List 实例或者数组作为参数对象传给 MyBatis,MyBatis 会自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list” 作为键,而数组实例将会以“array”作为键
2.看一下foreach里面的值有没有传递进来
3.看foreach里面的名称字段是否写错
4.还有就是我用Mybatis的时候,用mysql的值插入自动增长值,里面的key我在数据库中没有设置自动增长,然后我又用了selectkey,所以也会出现这种情况
--------------------------------------------------------------------
还有一种情况是item的属性不对,我在使用通用Map的时候,发现此问题。
通用Map的好处是减少了对Bean的书写,问题是如果数据库的查询结果为Null,对应属性的key也就不存在。
因为 传递一个 List 实例或者数组作为参数对象传给 MyBatis,MyBatis 会自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list” 作为键,而数组实例将会以“array”作为键
2.看一下foreach里面的值有没有传递进来
3.看foreach里面的名称字段是否写错
4.还有就是我用Mybatis的时候,用mysql的值插入自动增长值,里面的key我在数据库中没有设置自动增长,然后我又用了selectkey,所以也会出现这种情况
--------------------------------------------------------------------
还有一种情况是item的属性不对,我在使用通用Map的时候,发现此问题。
通用Map的好处是减少了对Bean的书写,问题是如果数据库的查询结果为Null,对应属性的key也就不存在。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询