Amour杰杰陆
2019-07-12 16:23
哈喽,老师,在看了老师的教程后在项目中引入了Mybatis-Plus。想请教一个实际使用上的问题。
Q1:在第一个红色框中,我使用的这个notIn需要判断传入的值是否为空的。不然会报错,是否有更好的方法;
Q2:在第二个红色框中,我使用的deleteBatchIds传入的值也需要判断下是否为空的,不然也会报sql的错误;
上面的两个问题,主要是想问下有没有更好的方法,还是说就是按照上图代码的解决方式。
下图是报错的问题,应该是因为传入的参数为空的时候拼接sql出错了
先谢谢老师了!!!???
关于第一个问题,你可以使用,第一个参数为condition的notIn方法,如果condition为false,该条件就不会加入到sql中。
我写了个类似的例子,供你参考。
lambdaQuery.notIn(problemIds.size() > 0, User::getAge , problemIds);
关于第二个问题,我没有太好的解决办法,因为该方法要求idList 主键ID列表(不能为 null 以及 empty)。所以得先做一下非空非empty判断。可以使用MP提供的工具类进行判断,代码如下:
if(CollectionUtils.isEmpty(needDelIds)) {
//你的删除业务逻辑
}
MyBatis-Plus入门
56140 学习 · 381 问题
相似问题