想要写一个类似如下的语句:

select * from table_1 where (coulmn_1 like '%XX%' or coulmn_1 like '%XX%')  and del_flag='0'

但是在实际执行过程中,mybatisplus将其解析成了:

select * from table_1 where coulmn_1 like '%XX%' or coulmn_1 like '%XX%'  and del_flag='0'

显然,这里由于没有括号,条件是不一样的。使用andNew代替and:

wrapper.andNew("del_flag='0'");

最后在日志中打印出的语句为:

select * from table_1 where (coulmn_1 like '%XX%' or coulmn_1 like '%XX%')  and (del_flag='0')

andNew的作用就是另起一个and()!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐