mybatis plus 多条件查询注意查询条件顺序
这种写法是错误的,容易导致查询条件逻辑混乱。应该吧这个or的放到一个and中。
·
如果根据文件名或者创建人名进行模糊查询
这种写法是错误的,容易导致查询条件逻辑混乱
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();
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)