推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Spring】
总结——》【SpringBoot】
解决——》java.lang.String cannot be cast to com.baomidou.mybatisplus.core.toolkit.support.SFunction
1、操作
Postman访问GET请求:http://127.0.0.1:8888/user/list?birthdayStartDate=2021-07-12&birthdayEndDate=2022-07-12
1)UserController.java
2)UserServiceImpl.java
2、现象(错误信息)
java.lang.ClassCastException: java.lang.String cannot be cast to com.baomidou.mybatisplus.core.toolkit.support.SFunction
3、原因
(1)LambdaQueryWrapper没有指定泛型
(2)column参数类型不能为String
4、解决
(1)LambdaQueryWrapper指定泛型<User>
(2)column参数值改为User::getBirthday
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
@Override
public List<User> listByParam(String birthdayStartDate, String birthdayEndDate) {
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<User>();
if (StringUtils.isNotBlank(birthdayStartDate)) {
queryWrapper.gt(User::getBirthday, birthdayStartDate);
}
if (StringUtils.isNotBlank(birthdayEndDate)) {
queryWrapper.lt(User::getBirthday, birthdayEndDate);
}
return this.list(queryWrapper);
}
}