
1. 内容介绍
Example类主要是用来对查询进行添加条件的。Model类只能进行简单的查询操作,如果想要自己加一些查询的条件,可以使用Example类。
关于类中定义的三个变量如图所示:

根据名字可以很容易理解:
orderByClause:主要进行ORDER BY条件(升序:asc 降序:desc)
distinct:主要是用来指定DISTINCT查询的。(DISTINCT可以为从表中某字段中选取出唯一不同的值)
oredCriteria:主要用于自定义查询条件
Example中的一些内部类:

Criteria: GeneratedCriteria的子类,我们进行构造查询就是利用这个类中的方法。
Cretiron:最底层的where条件,主要用于字段级别的一些条件查询。例如:id=5
GeneratedCriteria:里面是字段的一些方法,他保存一组Cretiron对象。
这是关于Example类的一些主要的内容。
2. 方法介绍
| 方法 | 说明 |
|---|---|
| example.setOrderByClause(“字段名 ASC”); | 添加升序排列条件,DESC为降序 |
| example.setDistinct(false) | 去除重复,boolean型,true为选择不重复的记录。 |
| criteria.andXxxIsNull | 添加字段xxx为null的条件 |
| criteria.andXxxIsNotNull | 添加字段xxx不为null的条件 |
| criteria.andXxxEqualTo(value) | 添加xxx字段等于value条件 |
| criteria.andXxxNotEqualTo(value) | 添加xxx字段不等于value条件 |
| criteria.andXxxGreaterThan(value) | 添加xxx字段大于value条件 |
| criteria.andXxxGreaterThanOrEqualTo(value) | 添加xxx字段大于等于value条件 |
| criteria.andXxxLessThan(value) | 添加xxx字段小于value条件 |
| criteria.andXxxLessThanOrEqualTo(value) | 添加xxx字段小于等于value条件 |
| criteria.andXxxIn(List<?>) | 添加xxx字段值在List<?>条件 |
| criteria.andXxxNotIn(List<?>) | 添加xxx字段值不在List<?>条件 |
| criteria.andXxxLike(“%”+value+”%”) | 添加xxx字段值为value的模糊查询条件 |
| criteria.andXxxNotLike(“%”+value+”%”) | 添加xxx字段值不为value的模糊查询条件 |
| criteria.andXxxBetween(value1,value2) | 添加xxx字段值在value1和value2之间条件 |
| criteria.andXxxNotBetween(value1,value2) | 添加xxx字段值不在value1和value2之间条件 |
关于一些具体用法参考第二篇参考文章
参考文章: 《Mybatis逆向工程中生成的Example类》 《MyBatis的Mapper接口以及Example的实例函数及详解》