Mybatis-PageHelper的简单使用

孤人 提交于 2020-01-07 14:17:18

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Mybatis-PageHelper一个简洁易用的mybatis分页插件。

文档地址:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md

加入依赖

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.4</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.0.0</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.41</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

如何使用

第一步:在mybatis-config.xml中配置插件

<!--配置Mybatis-PageHelper插件-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor" />
</plugins>

第二步:使用它提供的API

PageHelper.startPage(1, 2);  //设置分页:显示第1页,每页显示2条
List<Emp> list = empMapper.findAll();
PageInfo<Emp> page = new PageInfo<Emp>(list);  //取得分页信息

进阶:加入MyBatis Generator(用法一样)

首先使用如下命令生成相应的代码

mvn mybatis-generator:generate

API的使用与上面一样

PageHelper.startPage(1, 2);  //设置分页:显示第一页,每页显示2条
List<Emp> list = empMapper.selectByExample(null);

整合Spring

只要在Spring的配置文件,加入此插件的配置即可。

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="plugins">
        <array>
            <!-- 配置Mybatis-PageHelper插件 -->
            <bean class="com.github.pagehelper.PageInterceptor"/>
        </array>
    </property>
</bean>

整合Spring Boot

加入依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.0</version>
</dependency>
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.1.0</version>
</dependency>

在application.properties中配置(可选)

#pagehelper.helper-dialect=mysql
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!