mybatis利用generator自动生成的代码学习篇

XXXExample类的学习

这个一般是用来帮助codeMan自定义查询用的类
里面有几个类
Criterion是最基本,最底层的Where条件,用于字段级的筛选,可以理解为每一个字段的where条件查询sql 片段

public static class Criterion {
    private String condition;//where 后面的条件

    private Object value;

    private Object secondValue;

    private boolean noValue;

    private boolean singleValue;

    private boolean betweenValue;

    private boolean listValue;

    private String typeHandler;

Criteria类—-可以把它想成where条件的集合
Criteria包含一个Criterion的集合,每一个Criteria对象内包含的Criterion之间是由AND连接的,是逻辑与的关系。


protected abstract static class GeneratedCriteria {
protected List criteria;
}

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

protected List oredCriteria;

//一点新建一个UserExample 就会new 一个oredCriteria List
public UserExample() {
    oredCriteria = new ArrayList();
}
//证明使用or连接的
 public void or(Criteria criteria) {
    oredCriteria.add(criteria);
}

public Criteria or() {
    Criteria criteria = createCriteriaInternal();
    oredCriteria.add(criteria);
    return criteria;
}
UserMapper.xml中的定义


     
           

Example类的distinct字段用于指定DISTINCT查询。

orderByClause字段用于指定ORDER BY条件,这个条件没有构造方法,直接通过传递字符串值指定。

你可能感兴趣的:(mybatis)