springboot分页操作

1、后端首先在config下添加组件

//分页插件
@Configuration
public class myBatisConfig {
    @Bean
    public MybatisPlusInterceptor paginationInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInnerInterceptor =new PaginationInnerInterceptor();
        paginationInnerInterceptor.setOverflow(true); //设置ture跳转到首页
        paginationInnerInterceptor.setMaxLimit(500L);

        mybatisPlusInterceptor.addInnerInterceptor(paginationInnerInterceptor);
        return  mybatisPlusInterceptor;
    }
}

2、后端然后在service文件夹下创建UserService接口,然后再在service/implments文件夹下创建UserService接口的实现类

public interface UserService extends IService<User> {

}
@Service
public class UserServiceImp extends ServiceImpl<UserMapper,User> implements UserService {
}
@Autowired
    UserService userService;

    @GetMapping("/editable_table")
    public String editable_table(@RequestParam(value = "p", defaultValue = "1") Integer p, Model model) {
       /* List list = userService.list();
        model.addAttribute("users", list);*/
        //分页查询数据
        Page<User> userPage = new Page<>(p, 5);
        //分页查询的结果
        Page<User> page = userService.page(userPage, null);
        long current = page.getCurrent();
        long pages = page.getPages();
        long total = page.getTotal();
        List<User> records = page.getRecords();
        model.addAttribute("page",page);
        return "table/editable_table";
    }

3、前端代码如下

 <tbody>
       <tr class="" th:each="user:${page.records}">
	       <td>[[${user.id}]]td>
	       <td th:text="${user.name}">3455td>
	       <td class="center" th:text="${user.age}">Lorem ipsumetd>
	       <td>[[${user.emil}]]td>
	       <td><a class="delete" href="javascript:;">Deletea>td>
       tr>
 tbody>
<div class="row">
       <div class="col-lg-6">
       <div class="dataTables_info" id="editable-sample_info">当前第[[${page.current}]]页 总计[[${page.pages}]]页 共[[${page.total}]]条记录
       div>
       div>
       <div class="col-lg-6">
       <div class="dataTables_paginate paging_bootstrap pagination">
       <ul>
       <li class="prev disabled"><a href="#">前一页a>li>
       <li th:class="${num==page.current?'active':''}" th:each="num:${#numbers.sequence(1,page.pages)}">
       <a th:href="@{/editable_table(p=${num})}">[[${num}]]a>
       <li class="next"><a href="#">下一页a>li>
       ul>
       div>
       div>
div>
但是上述分页操作在后端开发中是不经常使用的,我们经常使用js完成分页操作,后端只需要通过接口传输数据库的数据给前端页面显示即可

4、如下

 @Autowired
    UserService userService;

    @GetMapping("/editable_table")
    public String editable_table(Model model) {
        List<User> list = userService.list();
        model.addAttribute("users", list);
        return "table/editable_table";
    }
 <tbody>
       <tr class="" th:each="user:${users}">
	       <td>[[${user.id}]]</td>
	       <td th:text="${user.name}">3455</td>
	       <td class="center" th:text="${user.age}">Lorem ipsume</td>
	       <td>[[${user.emil}]]</td>
	       <td><a class="delete" href="javascript:;">Delete</a></td>
       </tr>
 </tbody>

你可能感兴趣的:(spring,boot,spring,boot,java,后端)