PageHelper的简单使用

先引入对应的依赖

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

接下来就添加上对应的拦截器插件

  • 添加到mybatis的主配置文件上

    <!--注意拦截器的位置是有讲究的 -->
    <plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor">
    </plugin>
    </plugins>

    那么位置到底有什么讲究呢?

    就目前而言,它是需要放到<configuration></>标签之内,在<typeAliases></>之后,在<mapper></>之前的。总之,一个个试,直到不报错就行了。

  • 其实也可以在spring主配置文件上添加插件

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 注意其他配置 -->
    <property name="plugins">
    <array>
    <bean class="com.github.pagehelper.PageInterceptor">
    <property name="properties">
    <!--使用下面的方式配置参数,一行配置一个 -->
    <value>
    params=value1
    </value>
    </property>
    </bean>
    </array>
    </property>
    </bean>

不过我个人更喜欢添加到mybatis配置文件上,感觉更直观点。

简单使用分页功能

在你需要进行分页的 MyBatis 查询方法前调用PageHelper.startPage 静态方法即可,紧

跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

即在service中,调用dao中的方法之前,添加上这个方法就可以了。

//使用pageHelper进行分页查询
//此处为静态查询,在查询语句之前使用PageHelper.startPage()方法
PageHelper.startPage(page,count);
return iProductDao.selectAllProduct();

代入的两个参数就是查询第几页、每一页的数据数量。

即根据每一页的数据数量,插件就可以算出所有页数了,然后你查询第几页就一目了然。

注意返回值并不是简单的只返回查询出来的数据

可以使用PageInfo格式来接收

List<Product> productList = productService.findByPage(1,2);
PageInfo pageInfo = new PageInfo(productList);

该格式不仅包含了查询的数据,还有当前页码、总页码等一系列信息。

mybatissql语句不要写分号

sql语句的映射文件不要在结尾加上分号,不然容易出错,比如我用PageHelper的时候就给我再分号后面拼接上了limit语句,然后就报错。单独使用的时候是不会报错的。因为我再sqlyog上使用的时候就算结尾使用两个分号也没问题,因此证明mybatis会自动给我们加上分号。

PageHelper简单使用的更多相关文章

  1. Mybatis分页插件PageHelper简单使用

    一个好的讲解mybatis的博客地址http://www.jianshu.com/nb/5226994 引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句 ...

  2. 7、SpringBoot+Mybatis整合------PageHelper简单分页

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis/tree/1d30d2a573ce6784149a28af9b ...

  3. mybatis分页插件pageHelper简单实用

    工作的框架spring springmvc mybatis3 首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下 <!-- 分页助手 --> <dependency ...

  4. mybatis分页插件PageHelper简单应用

    --添加依赖 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><depende ...

  5. PageHelper简单实用

    mybatis-config.xml配置如下: <!-- 分页插件 --> <plugins> <plugin interceptor="com.github. ...

  6. Mybatis PageHelper 简单使用

    流程 1,maven 依赖 2,在 mybatis 配置文件启用插件 3,修改 service 层 依赖 <!-- https://mvnrepository.com/artifact/com. ...

  7. Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper

    引言 对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真不想花双倍的时间写count和select ...

  8. PageHelper

    https://pagehelper.github.io/ Mybatis分页插件PageHelper简单使用 SpringBoot之分页PageHelper

  9. 2、尚硅谷_SSM高级整合_创建Maven项目.avi

    第一步我们新建立一个web工程 这里首先要勾选上enable的第一个复选框 这里要勾选上add maven support 我们在pom.xml中添加sevlet的依赖 创建java web项目之后, ...

随机推荐

  1. arcgis for js 4.6加载本地发布好的2维地图

    我本地发布好的地图服务信息如下图所示: 我们在代码中使用到的url是图中所示的REST URL 加载代码如下: <!DOCTYPE html> <html> <head& ...

  2. 2018ICPC南京 A. Adrien and Austin

    题目: 题意:1-N个石子每次只能取连续的1-K个问输赢.(一开始以为只是个简简单单的巴什游戏,激动的提交了一发wr了,再读了一遍题才发现是只能取连续的) 题解:当n==0或者k==1&&am ...

  3. C语言之动态内存管理

    C语言之动态内存管理 大纲: 储存器原理 为什么存在动态内存的开辟 malloc() free() calloc() realloc() 常见错误 例题 柔性数组 零(上).存储器原理 之前我们提到了 ...

  4. 利用Navicat premium实现将数据从Oracle导入到MySQL

    背景:我们给用户提供了新的直播系统,但客户之前的老系统用的数据库是Oracle,我们提供的新系统用的是MySQL 客户诉求:将老系统中的所有直播数据导入到MySQL中: 思路:我知道Navicat有数 ...

  5. Elasticsearch优化 & filebeat配置文件优化 & logstash格式配置 & grok实践

    Elasticsearch优化 & filebeat配置文件优化 & logstash格式配置 & grok实践 编码转换问题(主要就是中文乱码) (1)input 中的cod ...

  6. 软工AI Bot NABCD分析

    目标: 打造一个基于大数据的 IT 问答机器人服务,通过运用人工和AI 技术,极大提高问答产品的用户满意度. 适合高校<软件工程>,<人工智能>课程作为结对编程或者团队项目. ...

  7. Spring MVC(七篇)

    (一)Spring MVC简介 (二)SpringMVC核心控制器 (三)Spring MVC Controller接口控制器详解(一) (三)Spring MVC Controller接口控制器详解 ...

  8. Vue Hello World

    1 Vue介绍 伟大的项目是从Hello World而来的,Hello World尽管没有什么实际性的作用,但是在于意义重大.(哈哈哈哈) 好了不废话了入正题. Vue是一套用于构建用户界面的渐进式J ...

  9. 创建逻辑卷,格式化为xfs格式化,在线扩容

    创建逻辑卷,并且格式化为xfs格式化好,然后在线扩容 删除逻辑卷组

  10. Webpack的理解以及解决了的问题

    一.背景 Webpack 最初的目标是实现前端项目的模块化,旨在更高效地管理和维护项目中的每一个资源 模块化 最早的时候,我们会通过文件划分的形式实现模块化,也就是将每个功能及其相关状态数据各自单独放 ...