MyBatis Generator (MBG) 生成类增加OR条件

MyBatis Generator (MBG) 生成类增加OR条件

 

问题:在mybatis中想实现一个查询,如下:

SELECT first_field, second_filed, third_field

WHERE first_filed > 1 AND (second_field > 0 ORthird_field < 0)

使用example类么有对应的方法,比较麻烦。

先提供两种思路,供参考。

1、继承生成的Example类

      生成的example类包括一个内嵌的内部类,其已经实现了所有字段的常用过滤条件,内部类的名称总是GeneratedCriteria。

      MBG也生成一个内部类,命名Criteria,继承GeneratedCriteria,这里可以给example类增加你自己的功能。

      所以基于生成的example类,增加如下自定义条件的代码:

    public Criteria multiColumnOrClause(String value1, String value2) {
        addCriterion("value1 = " + value1 + " OR value2 = " + value2);
        return this;
    }

2、开发插件

      如果你经常重用,不想给所有mappers都增加,可以抽象出逻辑,用插件来实现。文档有点少,这里有一个示例。

org.mybatis.generator.plugins.CaseInsensitiveLikePlugin

你可能感兴趣的:(mybatis,example,generator,Criteria,or)