mybatisplus的lamdaquery联合查询

当我们在遇到有or条件的时候,我们的mybatisplus的lamdaquery的表达式的编写方式如下。

带有or条件的语句以及多条件查询的写法
–正确写法–

 List<User> list = this.lambdaQuery()
                .eq(User::getDelFlag, "10")
                .and(w->w.isNull(User::getCode)
                        .or()
                        .eq(User::getName, "")
                ).list();
--生成的sql:select * from user where delflag = '10' and (code isnull or name = '')

–错误写法—

 List<User> list = this.lambdaQuery()
                .eq(User::getDelFlag, "10")
                .isNull(User::getCode)
                .or()
                .eq(User::getName, "")
                .list();
--生成的sql:select * from user where delflag = '10' and code isnull or name = ''

你可能感兴趣的:(java,mybatisplus)