Parameter ‘index’ not found. Available parameters are [arg1, arg0, param1, param2]
以前使用的都是xml访问的数据库,今天使用了mybatis注解,在用到分页查询的时候报了一个错误,如图:
1.这是mybatis的特性,如果方法参数只有一个且不是对象类型,占位符就可以随意定义
2.如果涉及到多个占位符,就不可以随意定义,
方法一:要使用#{arg0},#{arg1}…
@Select("SELECT * FROM USER LIMIT #{arg0},#{arg1}")
List<User> findByPage2(int index,int count);
其中#{arg0}对应的是第一个占位符,那么#{arg1}对应的就是第二个占位符。
方法二:在方法的形参处使用注解@Param("…")绑定占位符。
@Select("SELECT * FROM USER LIMIT #{index},#{count}")
List<User> findByPage3(@Param("index") int index, @Param("count") int count);
我使用了第二种方法演示一下:
执行测试代码:
输出结果: