【知识梳理】MyBatis-Plus之and和or多重嵌套的写法

  • Post author:
  • Post category:其他


要用mybtis-plus框架写一个类似如下的语句:

select * from X where A and B and ( ( C and ( D or E ) ) or ( F and ( G or H ) ) )

代码如下:

        wrapperBill.in("A", A);
        wrapperBill.eq("B", B);

        wrapperBill.and(wrapper ->{
            wrapper.and(w1 ->{
                w1.or(w2 ->{
                    w2.eq("C",0)
                            .and(w3 -> w3.eq("D", D)
                                    .or().eq("E", E));
                });
                w1.or(w2 ->{
                    w2.eq("F",1)
                            .and(w3 -> w3.eq("G", G)
                                    .or().eq("H", H));
                });
            });
        });



版权声明:本文为Octavius_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。