码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis插件 Mybatis-PageHelper简单使用

时间:2021-03-15 11:14:14      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:owb   结果   通过   http   单元测试   doctype   odi   sarg   object   

Mybatis插件 Mybatis-PageHelper

gitee中使用方法介绍

https://gitee.com/caomj_github/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

在 pom.xml 中添加如下依赖:

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>3.2</version>
</dependency>
对应mybatis插件版本
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>

在 MyBatis 配置 xml 中配置拦截器插件

<plugins>
    <!-- com.github.pagehelper.PageHelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageHelper">
        <!-- 4.0.0以后版本可以不设置该参数 -->
        <!--<property name="dialect" value="mysql"/>-->
        <!-- 该参数默认为false -->
        <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
        <!-- 和startPage中的pageNum效果一样-->
        <property name="offsetAsPageNum" value="true"/>
        <!-- 该参数默认为false -->
        <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
        <property name="rowBoundsWithCount" value="true"/>
        <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
        <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
        <property name="pageSizeZero" value="true"/>
        <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
        <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
        <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
        <property name="reasonable" value="true"/>
        <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
        <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
        <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->
        <!-- 不理解该含义的前提下,不要随便复制该配置 -->
        <!--<property name="params" value="pageNum=start;pageSize=limit;"/>-->
        <!-- 支持通过Mapper接口参数来传递分页参数 -->
        <!--<property name="supportMethodsArguments" value="true"/>-->
        <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
        <!--<property name="returnPageInfo" value="check"/>-->
        <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
        <property name="rowBoundsWithCount" value="true"/>
    </plugin>
</plugins>
————————————————
版权声明:本文为CSDN博主「zhuliliang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhuliliang/article/details/73650782

上面配置是4.2版本前的,分页插件 5.0 版本和 4.2.x 实现完全不同所以会报错误

java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.p

5.0 是用这个类 !!!

com.github.pagehelper.PageInterceptor

因为PageHelper类,继承Interceptor

public class PageHelper extends PageMethod implements Dialect
————————————————
版权声明:本文为CSDN博主「zhuliliang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhuliliang/article/details/73650782

编写接口

public interface UserMapper {
    List<User> getUserList();
}

编写mapper映射

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--命名空间和接口的路径一致-->
<mapper namespace="com.fb.dao.UserMapper">
    <!--id与接口中方法名字一致-->
    <!--<select id="getUserList" resultType="com.fb.model.User">-->
    <!--用别名代替-->
    <!--<select id="getUserList" resultType="user">
      select * from test.user
    </select>-->
</mapper>

单元测试

@Test
    public void testMybatisPageHelper01(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        com.github.pagehelper.Page<Object> page = PageHelper.startPage(1, 3);
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
    }

Mybatis插件 Mybatis-PageHelper简单使用

标签:owb   结果   通过   http   单元测试   doctype   odi   sarg   object   

原文地址:https://www.cnblogs.com/fb010001/p/14528881.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!