MyBatis分页组件--PageHelper
PageHelper是国内非常优秀的一款开源的 mybatis 分页插件,它支持基本主流与常用的数据库,例如 Oracle、Mysql、MariaDB、SQLite、Hsqldb 等。
官网网址:https://pagehelper.github.io/
GitHub地址:https://github.com/pagehelper/Mybatis-PageHelper
How To Use:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md
二.基本使用
1.第一步:导入Maven坐标
<!-- 集中定义依赖版本号 --> <properties> <pagehelper.version>5.1.2</pagehelper.version> </properties> <dependencies> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>${pagehelper.version}</version> </dependency> </dependencies>
applicationContext-dao.xml
<!-- 配置sqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <!-- 配置实体类别名 --> <property name="typeAliasesPackage" value="cn.dintalk.domain"/> <!-- 配置pageHelper分页的插件 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 --> <property name="properties"> <value> <!-- 可区分数据库 --> helperDialect=mysql <!-- 是否合理分页,针对首页尾页越界 --> reasonable=true </value> </property> </bean> </array> </property> </bean>
3.第三步:service层分页
PageHelper的基本使用有6种,可见官方文档。这里介绍PageHelper.startPage的静态方法。
dao层代码
// 查询所有 List<Company> findAll();
dao层映射.xml
<!-- 查询所有 --> <select id="findAll" resultMap="baseResultMap"> select * from sh_company </select>
service层代码
//使用PageHelper分页查询,page:当前页面,size:每页显示数量 public PageInfo findPageByHelper(int page, int size) { //1.调用静态方法,开始分页 PageHelper.startPage(page,size); //2.照常调用 List<Company> companies = companyDao.findAll(); return new PageInfo(companies); }
-
返回值PageInfo中包含了分页页面所需的一切信息,包括展示的数据及页码、上一页等等。在页面取值的时候可以跟到PageInfo源码中查看清楚即可!
关注微信公众号,随时随地学习
作者:Mr.SongHui
欢迎转载,但必须给出原文链接,并保留此段声明。
粉丝福利:
【腾讯云·年末有礼】云产品限时秒杀,云服务器1核2G,首年128元
【腾讯云】海外1核2G服务器低至2折,半价续费券限量免费领取!
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
【腾讯云】热卖云产品3折起,云服务器、云数据库特惠,服务更稳,速度更快,价格更优
【腾讯云】腾讯云服务器安全可靠高性能,多种配置供您选择
【腾讯云】助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起
【腾讯云】云数据库全场年购3折起,新用户上云6个月仅需10元
【腾讯云】腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
【腾讯云】腾讯云图,像PPT一样简单的数据可视化工具。5元搞定数据可视化,模板丰富,拖拖拽拽就能做出好看的可视化大屏
【腾讯云】流量包低至0.12元/GB , 结合在线教育、电商直播、社交直播场景,提供IM+直播+点播音视频组合优惠
【腾讯云】Redis单机版特惠2.1折起,为缓存业务量身定制,新用户8元起购
【腾讯云】专业版APP加固特惠5折起,可享免费兼容性测试
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
【腾讯云·年末有礼】云产品限时秒杀,云服务器1核2G,首年128元
【腾讯云】海外1核2G服务器低至2折,半价续费券限量免费领取!
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
【腾讯云】热卖云产品3折起,云服务器、云数据库特惠,服务更稳,速度更快,价格更优
【腾讯云】腾讯云服务器安全可靠高性能,多种配置供您选择
【腾讯云】助力中小微企业上云,满足轻量级Web应用需求,云服务器钜惠 166元/年起
【腾讯云】云数据库全场年购3折起,新用户上云6个月仅需10元
【腾讯云】腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
【腾讯云】腾讯云图,像PPT一样简单的数据可视化工具。5元搞定数据可视化,模板丰富,拖拖拽拽就能做出好看的可视化大屏
【腾讯云】流量包低至0.12元/GB , 结合在线教育、电商直播、社交直播场景,提供IM+直播+点播音视频组合优惠
【腾讯云】Redis单机版特惠2.1折起,为缓存业务量身定制,新用户8元起购
【腾讯云】专业版APP加固特惠5折起,可享免费兼容性测试
【腾讯云】专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得
[需要广告托管服务的朋友请留步哦]
