有时候为了查询效率,会将表里面的id范围先从另外一张表中查询出来,然后再从主表中通过in 去查询,减少不必要的表关联,但是在日常使用中可能会有小坑。

比如: 使用Example的时候把null或者空集合传进去的时候查询会报错

使用mybatis-plus 进行条件查询的时候,如果查询的条件为空,可能会忽略掉查询,导致异常的结果

正常来讲我们写myabtis动态SQL 的时候,如果说希望根据一个ids 去查询条件范围,会通过choose/then/otherwise 去判断以及条件拼接

通过otherwise如果条件都不满足,直接加一个1=2 将空结果返回

当然了,你也可以通过代码的形式去判断条件的集合是否为空,为空的话直接返回结果,就不通过数据库查询了

发表评论

电子邮件地址不会被公开。 必填项已用*标注