在做分页查询的时候,后台报出BindingException: Parameter ‘name‘ not found. Available parameters are [xxxx, param1, param2]错误。
报错的原因:找不到“name”字段。
产生原因:在Dao层的时候,将Page实体和查询的字段一同传进getlist方法中,如下所示:
/**
* 分页查询
* @param page
* @param visitingRegisterDto
* @return 查询结果
*/
List<VisitingRegisterVO> getlist(Page<VisitingRegisterVO> page, VisitingRegisterDto visitingRegisterDto);
由于传入的参数数量比较多,无法作出区分,故Mybatis会报错。
解决方法:
在Dao层的方法中加入@Params来标记查询的实体参数。
/**
* 分页查询
* @param page
* @param visitingRegisterDto
* @return
*/
List<VisitingRegisterVO> getlist(Page<VisitingRegisterVO> page,@Param("params") VisitingRegisterDto visitingRegisterDto);
使用上面的注解的时候就要对映射文件里面的sql语句进行修改了。
这样,上述报的错误就解决了。具体问题具体分析,此方法仅为遇到的。