1.mybatis-config.xml里面配置分页插件
<plugins>
<!--配置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
2.在pom.xml文件里面导入分页插件依赖
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
3.编写controller代码
controller层
public class EmployeeController {
@Autowired
private EmployeeService employeeServiceImpl;
// 分页查询
@RequestMapping(value = "employee/page/{pageNum}", method = RequestMethod.GET)
private String selectByPage(@PathVariable("pageNum") int pageNum, Model model){
PageInfo<Employee> page = employeeServiceImpl.selectByPage(pageNum);
model.addAttribute("page",page);
return "employee_list";
}
4.编写service层代码,就是最后一行
public interface EmployeeService {
public List<Employee> selctAll();
public void addEmployee(Employee employee);
public void deleteById(Integer id);
public Employee selectById(Integer id);
public void updateById(Employee employee);
PageInfo<Employee> selectByPage(Integer pageNum);
}
然后是实现类(5,是每页显示5条数据)
public PageInfo<Employee> selectByPage(Integer pageNum) {
// pageNum 第几页
PageHelper.startPage(pageNum,5);
// 查询所有
List<Employee> employees = employeeMapper.selectAll();
// 返回pageinfo
PageInfo<Employee> employeePageInfo = new PageInfo<Employee>(employees, 5);
return employeePageInfo;
}
编写web显示页面,这里用到是html
这个是用了thymeleaf解析的,以th开头的就是这个的语法,也可以不用,直接把路径写完整就行,就是http//8080开头那个,可以用getcontex来获取项目的运行地址然后加进去就行
<table>
<tr>
<th colspan="6">员工列表</th>
</tr>
<tr>
<th>流水号</th>
<th>员工姓名</th>
<th>年龄</th>
<th>性别</th>
<th>邮箱</th>
<th>操作</th>
</tr>
<tr th:each="employee,status : ${page.list}">
<td th:text="${status.count}"></td>
<td th:text="${employee.empName}"></td>
<td th:text="${employee.age}"></td>
<td th:text="${employee.sex}"></td>
<td th:text="${employee.email}"></td>
<td>
<!-- <a th:href="@{'/deleteemployee/'+${employee.empId}}" >删除</a>-->
<a @click="deleteEmployee()" th:href="@{'/employee/'+${employee.empId}}">删除</a>
<a th:href="@{'/employee/'+${employee.empId}}">修改</a>
</td>
</tr>
</table>
<div style="text-align: center;">
<a th:if="${page.hasPreviousPage}" th:href="@{/employee/page/1}">首页</a>
<a th:if="${page.hasPreviousPage}" th:href="@{'/employee/page/'+${page.prePage}}">上一页</a>
<span th:each="num : ${page.navigatepageNums}">
<a th:if="${page.pageNum == num}" style="color: red;" th:href="@{'/employee/page/'+${num}}" th:text="'['+${num}+']'"></a>
<a th:if="${page.pageNum != num}" th:href="@{'/employee/page/'+${num}}" th:text="${num}"></a>
</span>
<a th:if="${page.hasNextPage}" th:href="@{'/employee/page/'+${page.nextPage}}">下一页</a>
<a th:if="${page.hasNextPage}" th:href="@{'/employee/page/'+${page.pages}}">末页</a>
</div>