当前使用版本(必须填写清楚,否则不予处理)

  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-core</artifactId>
  <version>3.0.7.1</version>

该问题是怎么引起的?(最新版上已修复的会直接close掉)

AbstractWrapper类中in和notIn 方法,如果集合参数传入了null或者空列表,会导致把表内所有数据都查询或者操作。 在删除数据操作时,使用了In方法。因为没有要删除的id,然后传入了一个空列表,然后导致表中所有数据都被删除了。与开发期望不符。 期望in和notIn方法,在传入null或者空列表时,生成的条件类似于:1!=1 。 既然传入的数据为空,那in 空数据 的自然应该也是空数据。

MyBatis-Plus AbstractWrapper类中in和notIn 方法,如果集合参数传入了null或者空列表,会导致把表内所有数据都查询或者操作

重现步骤

报错信息

Comment From: tcnf2008

新版本貌似已经修复这个问题了?

Comment From: miemieYaho

自己去判null和空

Comment From: freshgeek

能说下你的考虑吗?如果自己去判断无疑是重复代码

自己去判null和空