MyBaits + Serviet+MybaitsPageHelper 如何实现分页 使用方法
在 pom.xml 中添加如下依赖:
com.github.pagehelper pagehelper 最新版本
最新版本号可以从官网查看。
配置好的文件如下
<?xml version="1.0" encoding="UTF-8"?> 4.0.0 com.example demo 1.0-SNAPSHOT demo war UTF-8 1.8 1.8 5.8.1 javax.servlet javax.servlet-api 4.0.1 provided org.junit.jupiter junit-jupiter-api ${junit.version} test org.junit.jupiter junit-jupiter-engine ${junit.version} test mysql mysql-connector-java 5.1.49 org.mybatis mybatis 3.5.7 log4j log4j 1.2.17 org.slf4j slf4j-log4j12 1.7.21 test org.mybatis.generator mybatis-generator-core 1.4.0 com.alibaba fastjson 1.2.78 com.github.pagehelper pagehelper 5.3.0 org.apache.maven.plugins maven-war-plugin 3.3.2 org.mybatis.generator mybatis-generator-maven-plugin 1.4.0 mysql mysql-connector-java 5.1.49
并且配置拦截器插件
特别注意,新版拦截器是 com.github.pagehelper.PageInterceptor。 com.github.pagehelper.PageHelper 现在是一个特殊的 dialect 实现类,是分页插件的默认实现类,提供了和以前相同的用法。
在 MyBatis 配置 xml 中配置拦截器插件
配置好的配置文件如下
<?xml version="1.0" encoding="UTF-8" ?>
在 Spring 配置文件中配置拦截器插件请自行查看官网内容
在代中使用如下
public PageInfo getAll(int pageNumber, int pageSize){ PageHelper.startPage(pageNumber, pageSize); PageInfo mayDayTagClasses = null; SqlSession sqlSession = MybatisClass.getSqlSession(); MayDayTagClassMapper mayDayTagClassMapper = sqlSession.getMapper(MayDayTagClassMapper.class); MayDayTagClassExample mayDayTagClassExample=new MayDayTagClassExample(); try { mayDayTagClassExample.createCriteria().andIdIsNotNull(); mayDayTagClasses = new PageInfo<>(mayDayTagClassMapper.selectByExample(mayDayTagClassExample)); return mayDayTagClasses; }catch (Exception e) { e.printStackTrace(); }finally { sqlSession.close(); } return mayDayTagClasses; }
解释
当需要返回json时候自行导入alibaba的fastjson插件即可
PageHelper.startPage(pageNumber, pageSize)这是第一步,进行初始化
PageInfo =null这个是进行初始化一个对象用于发送处理好的list数据
mayDayTagClasses = new PageInfo<>(mayDayTagClassMapper.selectByExample(mayDayTagClass)将处理号的数据及逆行赋值
相关文献
(21条消息) 【狂神说】Mybatis学习笔记(全)_li643937579的博客-CSDN博客_狂神说mybatis笔记
MyBatis 分页插件 PageHelper
Mybatis_PageHelper: Mybatis分页插件 (gitee.com)
本文代码地址