mybatis plus 使用in的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis plus 使用in的问题相关的知识,希望对你有一定的参考价值。

参考技术A mybatis plus 是对mybatis 的功能的进一步提升,方便开发者的使用,在使用时,对于一些基础的sql语句,mybatis plus可以发挥很好的作用,比如提供了QueryWrapper 对象,可以用来做一些基础查询,但在使用过程中也发现了一个与实际业务有不一样的地方,特此记录一下,
QueryWrapper 在多条件查询(包括 等于eq,模糊查询like ,in 包含查询)时, 假如需要同时满足多个条件,举个例子吧
有张user表 , 包含id name 等字段
假如需要id 包含 数组arr 且name like * ,这时候,需要对arr做判空处理, 因为在arr为空的情况下,mybatis plus 会直接去掉in 这个条件的判断,会导致只要user表中的数据 满足 name like * 条件 ,就会被查出来,这是有问题的,我们需要的是 id 包含 arr和name like * 同时满足条件时才会被查出来,这可能是mybatis plus 内部的一个特殊逻辑处理,希望大家在使用时,碰到类似的情况多做下判断。

以上是关于mybatis plus 使用in的问题的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis Plus分页插件常用配置

mybatis invalid bound

mybatis-plus代码生成器两版(全部生成+部分生成)

mybatis plus 使用in的问题

MyBatis-Plus实现数据库curd操作

mybatis plus sql语句中 in的使用