【错误】在测试业务逻辑包service包中的一个数据库分页指定条数查询接口时出现如下错误:Parameter 'username' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
原接口代码如下:
@Select("select * from user where username like concat('%', #{username} ,'%') limit #{pageNum},#{pageSize}")
List<User> selectPage(Integer pageNum, Integer pageSize , String username);
用Postman测试如下:
【原因】:mybatis对参数的预处理不正确,导致sql语句错误
【改正方法】:将参数更正为arg0,arg1,arg2即可
如下:
@Select("select * from user where username like concat('%', #{arg2} ,'%') limit #{arg0},#{arg1}")
List<User> selectPage(Integer pageNum, Integer pageSize , String username);
便可以测试成功,并正确调用。
如果有更为合理准确的原因解释,可在下方评论区发表自己的看法哦