分页查询mapper层怎么写
时间: 2023-07-07 15:15:49 浏览: 92
好的,下面是一个简单的MyBatis Mapper层的分页查询代码示例:
```java
public interface UserMapper {
@Select("SELECT * FROM user WHERE 1=1 " +
"AND name LIKE CONCAT('%',#{query},'%') " +
"ORDER BY ${sortField} ${sortOrder} " +
"LIMIT #{offset}, #{pageSize}")
List<User> getUsers(@Param("query") String query,
@Param("sortField") String sortField,
@Param("sortOrder") String sortOrder,
@Param("offset") int offset,
@Param("pageSize") int pageSize);
@Select("SELECT COUNT(*) FROM user WHERE 1=1 " +
"AND name LIKE CONCAT('%',#{query},'%')")
int getUserCount(@Param("query") String query);
}
```
以上代码示例使用了MyBatis注解来定义查询语句,其中@Select表示查询语句,@Param表示参数名称。
在getUsers方法中,我们使用了LIMIT来实现分页查询,其中offset表示偏移量,pageSize表示每页数量。同时,我们使用ORDER BY来进行排序,其中sortField表示排序字段,sortOrder表示排序方式。
在getUserCount方法中,我们只需要查询符合条件的数据总数即可。
当然,具体的实现还需要根据具体业务需求进行调整。
阅读全文