Mybatis Generator默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的,用到的时候手工修改mapper和接口文件就行了。

<table schema="general" tableName="tb_table_name" domainObjectName="EntityName"
    enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
    enableSelectByExample="false" selectByExampleQueryId="false" >
    <property name="useActualColumnNames" value="true"/>
</table>
注意:

domainObjectName:表名

设置驼峰命名法 :<property name="useActualColumnNames" value="true"/>

 

Example类用于构造复杂的筛选条件。

基本概念

  • Criterion

    Criterion是最基本,最底层的Where条件,用于字段级的筛选,feild用于指代字段名字,列举如下:

    只有一个条件,不需要其他参考值
    feild IS NOLL
    feild IS NOT NULL

    与一个参考值进行算数运算
    feild > value
    feild >= value
    feild = value
    feild <> value
    feild <= value
    feild < value

    与一个参考值进行模糊查询,参值中的%,?只能在构造查询条件时手动指定。

    feild LIKE value
    feild NOT LIKE value

    介于两个参考值之间

    feild BETWEEN value AND secondValue

    在或不在一个参考值集合中,item来自于value集合

    feild IN (item,item,item,...)
    feild NOT IN (item,item,item,...)

    MyBatis Generator会为每个字段产生如上的Criterion,如果表的字段比较多,产生的Example类会十分庞大。理论上通过Example类可以构造你想到的任何筛选条件。

  • Criteria

    Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。

  • oredCriteria

    Example内有一个成员叫oredCriteria,是Criteria的集合,就想其名字所预示的一样,这个集合中的Criteria是由OR连接的,是逻辑或关系。oredCriteria就是ORed Criteria。