mybatis plus 多条件查询注意查询条件顺序
如果根据文件名或者创建人名进行模糊查询
这种写法是错误的,容易导致查询条件逻辑混乱
List<KnowledgeBase> list = lambdaQuery().eq(KnowledgeBase::getResourceType, 2).in(query.getRootIdIn().size()>0,KnowledgeBase::getRootId, query.getRootIdIn()).like(KnowledgeBase::getResourceName, query.getResourceNameLike()).or().like(KnowledgeBase::getCreateByName, query.getResourceNameLike().orderByDesc(KnowledgeBase::getCreateTime).last("LIMIT 100").list();
应该吧这个or的放到一个and中
List<KnowledgeBase> list = lambdaQuery().eq(KnowledgeBase::getResourceType, 2).in(query.getRootIdIn().size()>0,KnowledgeBase::getRootId, query.getRootIdIn()).and(query.getResourceNameLike()!=null &&!("").equals(query.getResourceNameLike()),wrapper ->wrapper.like(KnowledgeBase::getResourceName, query.getResourceNameLike()).or().like(KnowledgeBase::getCreateByName, query.getResourceNameLike())).orderByDesc(KnowledgeBase::getCreateTime).last("LIMIT 100").list();