使用Mybatis-plus 条件构造器查询数据,如果感觉条件构造器是正确的,但是还是查不出来数据,一定要去控制台看看,构造的SQL是啥样的
例子:
public Object listPage(User user) {
Page<User > page = getPage();
EntityWrapper<User > entityWrapper = new EntityWrapper<User >(user);
if (StringUtils.isNotEmpty(user.getName())) {
entityWrapper.like("user_name", user.getName());
}
page = userService.selectPage(page, entityWrapper);
return jsonPage(page);
}
问题:
这里前端传过来的name是用JavaBean User对象接收的,然后在下面构造条件查询器的时候将User这个对象当做条件放入条件构造器了
EntityWrapper<User > entityWrapper = new EntityWrapper<User >(user);
而在下面entityWrapper.like("title", learning.getTitle());
这里又构造了个模糊查询的条件,最后导致SQL是这个样子
SELECT * FROM users WHERE user_name='%测试%' AND user_nameLIKE '%测试%' )