createCriteria中排序
时间: 2023-09-08 18:16:44 浏览: 208
在使用 MyBatis 进行查询时,可以使用 `createCriteria` 方法创建查询条件,同时也可以使用 `orderBy` 方法对查询结果进行排序。
例如,我们要查询用户表中所有年龄大于 18 岁的用户,并按照用户的姓名进行升序排序,可以这样写:
```java
Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
criteria.andGreaterThan("age", 18);
example.orderBy("name").asc();
List<User> userList = userDao.selectByExample(example);
```
在上面的代码中,`example.orderBy("name").asc()` 表示按照用户的姓名进行升序排序。如果要进行降序排序,可以使用 `example.orderBy("name").desc()` 方法。
同时,`orderBy` 方法也支持多个字段的排序,例如:
```java
example.orderBy("name").asc().orderBy("age").desc();
```
表示先按照姓名升序排序,再按照年龄降序排序。
相关问题
example.createcriteria()用法
example.createcriteria()是Hibernate Criteria API中的一个方法,用于创建一个Criteria对象,用于查询数据库中的数据。通过Criteria对象,可以设置查询条件、排序方式、分页等操作,最终返回符合条件的结果集。该方法常用于动态查询,可以根据不同的查询条件动态生成查询语句,提高查询效率。
mybatis中example添加排序条件
在 MyBatis 中,可以使用 Example 对象来生成动态 SQL,以添加排序条件,示例如下:
```java
Example example = new Example(User.class);
example.createCriteria().andEqualTo("status", 1);
example.orderBy("create_time").asc();
List<User> userList = userMapper.selectByExample(example);
```
在上面的示例中,我们创建了一个 Example 对象,并添加了一个等于条件,然后调用 `orderBy` 方法来添加排序条件。这里我们指定了按照 `create_time` 字段升序排序。
也可以使用 `orderByDesc` 方法来指定降序排序:
```java
example.orderByDesc("create_time");
```
需要注意的是,在 `orderBy` 和 `orderByDesc` 方法中,指定的排序字段必须是数据库表中的字段。如果是关联表中的字段,需要使用别名来指定,例如:
```java
example.orderBy("t_order.create_time").asc();
```
这里的 `t_order` 是关联表的别名。
阅读全文