MyBatis分页查询 PageHelper怎么结合jsp使用
时间: 2024-10-20 08:11:49 浏览: 42
MyBatis的PageHelper是一个常用的分页插件,它能简化JSP页面上处理分页的工作。以下是结合JSP使用PageHelper的基本步骤:
1. **添加依赖**:首先,在你的项目中需要引入PageHelper的jar包。如果你使用的是Maven,可以在pom.xml文件中加入依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.x.x</version> <!-- 更新到最新版本 -->
</dependency>
```
2. **配置PageHelper**:在Spring配置文件(如applicationContext.xml或application.properties)中配置PageHelper的相关属性,例如默认的分页大小、获取当前页码的SQL标签等。
3. **编写Mapper接口**:在Mapper接口中,声明一个泛型方法,比如`List<T> selectList(Page page);`。这里的`Page`是PageHelper提供的分页对象。
4. **在服务层调用Mapper**:在业务逻辑层,创建Page对象并设置起始位置和最大显示条数,然后通过Mapper接口的方法执行SQL查询,并传递Page对象。
5. **返回结果到JSP**:在Service层处理完查询结果后,将Page对象封装成一个模型(Model),传递给JSP。在JSP页面上,你可以直接使用PageHelper提供的API来遍历分页数据,展示每一页的数据。
6. **在JSP页面中使用**:使用JSTL标签库的c:forEach循环遍历`list`属性,同时利用PageHelper提供的`#{start}`, `#{limit}`, `#{total}`等变量访问分页信息,例如跳转链接。
```jsp
<c:forEach items="${model.list}" var="item">
<!-- 显示数据 -->
<tr>
<td>${item.column1}</td>
<!-- 其他列 -->
</tr>
</c:forEach>
<!-- 分页导航 -->
<ul class="pagination">
<li><a href="<c:url value='your-action' params='pageNo=${model.current}'>'上一页'</a></li>
<li><a href="#">第${model.current}页</a></li>
<li><a href="<c:url value='your-action' params='pageNo=${model.next}'>'下一页'</a></li>
</ul>
```
阅读全文