MyBatis Plus中使用and和or
如图:show me the code
参考:
https://mp.baomidou.com/guide/wrapper.html#or
扩展:
一般遇到这种查询需求,in和or都可以实现,比如上面的查询sql也可以写成:
select * from table where xxx = ? and classify in (?,?,?)order by create_time DESC limit ?,?
那么问题来了,一般情况使用哪种写法更好呢?
数据量不大,或者查询用到的条件字段是主键或者有索引,两者性能差距不大,可任意选择使用。
在大数据量和其他复杂情况,优先考虑使用in,因为in的复杂度为O(logn),而or的效率为O(n),另外,在上生产前需要进行一些压力测试!