在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;
}
本文介绍了在SpringBoot中如何通过原生PageHelper和PageHelper starter两种方式配置分页插件,包括引入依赖、配置文件和Controller中使用方法的详细步骤。
2万+

被折叠的 条评论
为什么被折叠?



