今天在SpringBoot项目中用MyBatis框架写表删除时,传入两个字段的主键id,发现在controller层标记了@Param依然无法识别:
@DeleteMapping("/deleteBorrow")
boolean deleteBorrow(@Param("readerId")int readerId , @Param("bookId") int bookId){
return borrowService.deleteBorrow(readerId,bookId);
}
解决方法:
给这个方法每一层的参数前都加上@Param注解
//dao层
int deleteBorrow(@Param("readerId")int readerId, @Param("bookId")int bookId);
//service接口
boolean deleteBorrow(@Param("readerId")int readerId,@Param("bookId")int bookId);
//serviceImpl
@Override
public boolean deleteBorrow(@Param("readerId")int readerId,@Param("bookId")int bookId) {
if(borrowMapper.deleteBorrow(readerId,bookId) == 0){
return false;
}else {
return true;
}
}
成功解决
另外注意一点@Param是ibatis下的
import org.apache.ibatis.annotations.Param;