mybatis如何使用example
时间: 2025-04-18 15:41:22 浏览: 31
### MyBatis 中 Example 的使用教程
#### 创建 Example 对象
在 MyBatis 中,`Example` 类通常由逆向工程工具自动生成。对于每一个实体类 `xxx`,都会有一个相应的 `xxxExample` 类被创建出来[^3]。
```java
// 假设存在一个名为 User 的表及其对应的实体类,则会生成 UserExample 类
UserExample example = new UserExample();
```
#### 添加查询条件
为了构建复杂的查询语句,在 `Example` 上可以调用 `createCriteria()` 方法来获取一个新的 `Criteria` 实例对象。通过这个 `Criteria` 可以设置各种过滤条件,这些条件最终会被转换成 SQL 语句中的 WHERE 子句部分[^4]。
```java
// 获取 Criteria 并添加简单等于条件
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
```
除了简单的相等匹配外,还支持多种其他类型的比较操作:
- 大于 (`andIdGreaterThan`)
- 小于 (`andAgeLessThan`)
- 不等于 (`andStatusNotEqualTo`)
- IN 列表 (`andNameIn(List<String> values)`)
- LIKE 模糊查找 (`andEmailLike(String value)`)
#### 排序、分页和其他功能
除了定义筛选规则之外,还可以利用 `Example` 来指定返回记录集的排序方式、限制结果数量(即实现分页),甚至执行去重处理等功能。
```java
// 设置按年龄降序排列并取前两条数据
example.setOrderByClause("age DESC").setLimit(2);
// 如果需要去除重复项则可启用 distinct 属性
example.setDistinct(true);
```
#### 执行查询
最后一步就是将构造好的 `Example` 参数传递给 Mapper 接口的方法来进行实际的数据访问操作了。假设已经配置好了合适的 XML 映射文件或注解形式的映射关系,那么可以直接像下面这样调用 DAO 层提供的 API 完成整个流程[^1]。
```java
List<User> users = userMapper.selectByExample(example);
for (User u : users){
System.out.println(u.getUsername());
}
```
阅读全文
相关推荐


















