MyBatis分页插件PageHelper的具体使用
MyBatis分页插件PageHelper的具体使用 MyBatis分页插件PageHelper是MyBatis框架中的一个分页插件,它可以帮助开发者轻松地实现数据库的分页功能。PageHelper插件可以自动将已经写好的SQL语句进行分页加工,使得开发者无需关心SQL语句的分页问题。 PageHelper的使用优点: * 无需自己封装、关心SQL分页等问题 * 使用非常方便 * 前端取数据也很方便 PageHelper的使用步骤: 1. 引入PageHelper依赖 在Maven项目中,需要引入PageHelper依赖,添加以下依赖项: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency> ``` 2. 配置applicationContext.xml文件 在Spring的SqlSessionFactoryBean中增加一个分页拦截器属性: ```xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <value> <!-- 这里设定你的数据库类型 --> helperDialect=mysql </value> </property> </bean> </array> </property> </bean> ``` 3. 调用PageHelper的方法 在Service方法中调用PageHelper的静态方法startPage,传入需要查询的页号和每页大小,返回PageHelper插件提供的PageInfo对象: ```java public PageInfo<T> selectPage(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); List<T> list = mapper.selectByExample(null); PageInfo<T> pageInfo = new PageInfo<T>(list); return pageInfo; } ``` 4. PageInfo类说明 PageInfo类是PageHelper插件提供的用于描述分页信息的类,包含了当前页、每页数量、当前页数量、总记录数、总页数、结果集等信息: ```java public class PageInfo<T> implements Serializable { private static final long serialVersionUID = 1L; //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private int size; //当前页面第一个元素在数据库中的行号 private int startRow; //当前页面最后一个元素在数据库中的行号 private int endRow; //总记录数 private long total; //总页数 private int pages; //结果集 private List<T> list; //前一页 private int prePage; //下一页 private int nextPage; //是否为第一页 private boolean isFirstPage = false; //是否为最后一页 private boolean isLastPage = false; //是否有前一页 private boolean hasPreviousPage = false; //是否有下一页 private boolean hasNextPage = false; //导航页码数 private int navigatePages; //所有导航页号 private int[] navigatepageNums; //导航条上的第一页 private int navigateFirstPage; } ``` 通过PageInfo对象,可以轻松地获取分页信息,例如当前页、每页数量、总记录数、总页数等。
- 粉丝: 2
- 资源: 913
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (174298652)基于QT的酒店管理系统设计
- (175720404)安卓期末大作业(AndroidStudio开发),垃圾分类助手app,分为前台后台,代码有注释,均能正常运行
- wireshark抓包-OSPF
- (176182006)python小游戏(免费)
- (176485414)基于servlet+jsp+mysql的图书馆管理系统.zip
- (176703248)QT图书管理系统的源代码
- (177098224)安卓期末大作业Android Studio 简易计算器实现
- (177234252)单片机LCD滚动显示汉字proteus仿真实例.rar
- (177294410)数据库课设医药信息管理系统
- 1
- 2
前往页