关于Mybatis中的传值问题
UserController:
public List<User> findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
pageNum =(pageNum-1)*pageSize;
return userMapper.selectPage(pageNum,pageSize);
}```
UseMapper:
```@Select("SELECT * from sys_user limit #{pageNum},#{pageSize}")
List<User> selectPage(Integer pageNum,Integer pageSize);```
本来一直出错,找不到原因,SELECT语句正确,发现是要加上@Param("pageNum"),这样才能传值成功。可能是版本原因,up主不加可以成功,我不加上就不行,值无法传入UseMapper。我本来以为@Param是在前台输入的值不需要经过程序运算时使用,否则运算无效。现在看来,无论何时,@Param在使用函数传值时都需要标注。
修改之后:
```@Select("SELECT * from sys_user limit #{pageNum},#{pageSize}")
List<User> selectPage(@Param("pageNum") Integer pageNum,@Param("pageSize")Integer pageSize);```
这个bug花了我一天半的时间想出来,刚接触Mybatis和springboot,真的很难。
加油!