mybaits分页功能
时间: 2023-07-05 16:07:19 浏览: 73
MyBatis提供了很方便的分页功能。下面是基于MyBatis的分页实现步骤:
1. 在Mapper.xml文件中,编写查询SQL语句,使用limit关键字实现分页功能。
```xml
<!--查询语句-->
<select id="selectUserList" parameterType="map" resultMap="userMap">
select * from user
<where>
<if test="username != null and username != ''">
and username like CONCAT('%', #{username}, '%')
</if>
</where>
order by create_time desc
limit #{start}, #{pageSize}
</select>
```
2. 在Java代码中,构建分页参数对象PageInfo,传入Mapper接口方法中。
```java
public class PageInfo {
private Integer pageNo;
private Integer pageSize;
private Integer start;
// getter/setter 省略
}
```
3. 在Mapper接口中,定义查询方法,传入PageInfo对象作为参数。
```java
public interface UserMapper {
List<User> selectUserList(PageInfo pageInfo);
}
```
4. 在Service层中,处理分页逻辑。
```java
public class UserService {
public PageInfo queryUserList(Integer pageNo, Integer pageSize, String username) {
// 计算start
Integer start = (pageNo - 1) * pageSize;
// 构建分页参数对象
PageInfo pageInfo = new PageInfo();
pageInfo.setPageNo(pageNo);
pageInfo.setPageSize(pageSize);
pageInfo.setStart(start);
// 调用Mapper接口方法
List<User> userList = userMapper.selectUserList(pageInfo);
// 计算总记录数
Integer totalCount = userMapper.selectUserCount(username);
// 构建PageInfo对象
PageInfo result = new PageInfo();
result.setPageNo(pageNo);
result.setPageSize(pageSize);
result.setTotalCount(totalCount);
result.setDataList(userList);
return result;
}
}
```
5. 前端展示分页数据。
在页面上展示分页数据,可以使用任何一种前端框架实现,例如Bootstrap、layui等。具体实现步骤可以参考前端框架的官方文档。