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>