spring boot 项目实现分页()

在springboot中使用PageHelper插件有两种较为相似的方式,接下来我就将这两种方式进行总结。

方式一:使用原生的PageHelper

1.在pom.xml中引入依赖

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>4.1.3</version>
        </dependency>

2.在springboot的启动类(Application.java)里面注入配置

import com.github.pagehelper.PageHelper;
import org.apache.ibatis.plugin.Interceptor;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
@MapperScan("com.example.super_manager.dao")
public class SuperManagerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SuperManagerApplication.class, args);
    }
    @Bean
    PageHelper pageHelper(){
        //分页插件
        PageHelper pageHelper = new PageHelper();
//属性内容按需求添加
        /*Properties properties = new Properties();
     properties.setProperty("dialect","mysql");
        properties.setProperty("reasonable", "true");
        properties.setProperty("supportMethodsArguments", "true");
        properties.setProperty("returnPageInfo", "check");
        properties.setProperty("params", "count=countSql");
        pageHelper.setProperties(properties);*/
        //添加插件 拦截器
        new SqlSessionFactoryBean().setPlugins(new Interceptor[]{pageHelper});
        return pageHelper;
    }
    }

3.controller控制器

public String getAllUser(Model model,String pageNo){
    /*if (pageNo==null){
        pageNo="1";
    }*/
    /*
    * 获得pageNo页面的5条数据
    * @pageNo
    * @pageSize
    * */
    //设置当前页数,和每页条目数
    pageHelper.startPage(1, 5);
    List<User> allUser = userBiz.getAllUser();
    //用pageInfo 对结果进行包装
    PageInfo<User> pageInfo = new PageInfo<>(allUser);
    //将页面信息中的用户集合存储到userList 中,在页面拿取
    model.addAttribute("userList",pageInfo.getList());
    //将页面信息存储到page 中
    model.addAttribute("page",pageInfo);
    return "userlist";
}

方式二:使用PageHelper的starter

1.在pom.xml中引入依赖

    <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>

2.在application.properties配置pagehelper的属性

    #pagehelper分页插件配置
    pagehelper.helperDialect=mysql
    pagehelper.reasonable=true
    pagehelper.supportMethodsArguments=true
    pagehelper.params=count=countSql

最后就是使用pagehelper进行分页了,其中最重要的一句就是

  // PageHelper.startPage(pageNum,pageSize);pageNum:当前页数   pageSize:当前页需要显示的数量  重点语句,一定要在查询语句之前
     public PageInfo<Blog> ajaxBlog(Integer pageNum,Integer pageSize){
            PageHelper.startPage(pageNum,pageSize);
            List<Blog> blogList = blogMapper.selectByExample(new BlogExample());
            PageInfo<Blog> pageInfo = new PageInfo<Blog>(blogList);
            return pageInfo;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值