`

mybatis-分页插件-PageHelper使用笔记

 
阅读更多
一准备工作 下载 jar包,以目前最新版本4.15为例,java1.6,数据库是mysql
http://git.oschina.net/free/Mybatis_PageHelper

二 添加两个下载完的jar包到工程里
pagehelper-4.1.5
jsqlparser-0.9.1

三在mybatis的配置文件mybatis-config.xml中添加插件信息
<plugins>
    <!-- com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageHelper">
        <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,不配置映射的用默认值 -->
        <!-- 不理解该含义的前提下,不要随便复制该配置 
        <property name="params" value="pageNum=start;pageSize=limit;"/>    -->
    </plugin>
  </plugins>



这里要注意 <plugins> 在mybatis-config.xml文件中的位置,必须要符合 http://mybatis.org/dtd/mybatis-3-config.dtd 中指定的顺序:
<!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, 
    objectFactory?, objectWrapperFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>



四代码上运用


SqlSession session = sessionFactory.openSession();
			 final IPersonOption op=session.getMapper(IPersonOption.class);
			 			 Page<Score> page = PageHelper.startPage(2,6).doSelectPage(new ISelect() {
				    @Override
				    public void doSelect() {
				    	op.queryPersonScoreByAge(10);
				    }
				});
			
			
			List<Score> scores=page.getResult();


注意作者说明不支持嵌套结果查询!
分享到:
评论

相关推荐

    整合mybatis-plus代码生成器.zip

    4. **分页插件**:集成PageHelper进行物理分页,提供易于使用的API。 5. **多表关联查询**:支持单表或多表的关联查询,简化了联表操作。 6. **代码生成器**:正是这个压缩包的核心,它可以自动生成Model、Mapper...

    复习资料汇总:包括mybatis-plus spingboot等

    - **分页插件**:集成PageHelper插件,可以方便地实现分页查询,支持多种数据库。 - **无注解配置**:MBP允许开发者通过注解或XML配置,灵活选择使用方式。 2. SpringBoot: SpringBoot是由Pivotal团队提供的全新...

    MyBatis 官方笔记 + MyBatis 3.5.10 官方英文文档

    - 分页插件:如 PageHelper,简化分页查询的编写。 10. **最佳实践** - 保持 SQL 语句简洁明了,避免过于复杂的嵌套查询。 - 使用 ResultMap 有效地处理复杂的数据结构。 - 根据项目需求选择合适的事务管理策略...

    【MyBatis学习笔记四】——MyBatis分页.zip

    本篇笔记主要围绕MyBatis如何实现分页查询进行深入探讨。 在传统的SQL查询中,我们通常会使用LIMIT和OFFSET来实现分页,但在大数据量的场景下,这种方式效率较低,因为OFFSET会扫描大量无用的数据。MyBatis提供了更...

    Mybatis-Study.rar

    MyBatis提供插件扩展机制,用户可以编写自定义插件,如PageHelper分页插件,实现便捷的分页查询。 10. **最佳实践** 使用MyBatis时,应遵循一些最佳实践,如合理设计数据库表结构,避免全表扫描,合理设置事务...

    MyBatis学习笔记.zip

    9. **插件机制**:MyBatis允许开发者自定义插件,实现拦截器,如PageHelper分页插件,提高开发效率。 10. **最佳实践**:笔记可能会提供一些MyBatis的使用技巧,如如何优化SQL,如何避免内存溢出等问题。 每个HTML...

    尚硅谷Mybatis Plus笔记+源码

    - 分页插件:集成PageHelper,实现物理分页和逻辑分页。 3. **核心API** - `BaseMapper`:继承自Mybatis的Mapper接口,包含了基本的CRUD方法。 - `EntityWrapper`:用于构建复杂的查询条件,支持动态SQL。 - `...

    SSM笔记-分页

    在SSM框架下,我们可以使用Mybatis的PageHelper插件或者自定义分页逻辑来实现这一功能。 **PageHelper插件的使用** 1. **安装与配置**:PageHelper是Mybatis的一个扩展,提供了便捷的分页功能。首先,我们需要将...

    传播智客-mybatis课堂笔记(2天)

    笔记会介绍插件的创建过程及常见插件的使用,如PageHelper分页插件。 10. MyBatis的最佳实践:这部分内容可能包括日志配置、性能优化、异常处理以及与Spring框架的集成等,帮助读者更好地在实际项目中应用MyBatis。...

    b站up遇见狂神说 系列视频Mybatis 项目源码

    7. **插件机制**:学习Mybatis提供的拦截器插件,如PageHelper分页插件,可以提高开发效率。 8. **Mybatis的缓存机制**:理解Mybatis的一级缓存和二级缓存,以及如何自定义缓存。 通过这些知识点的学习,配合视频...

    springmvc学习笔记-springmvc整合mybatis.zip

    - 分页插件:如 MyBatis-PageHelper,简化分页查询代码。 6. **注意事项** - 注意配置文件中的路径正确性,确保所有资源都能被正确加载。 - 保持良好的编程习惯,避免 SQL 注入等安全问题。 - 对于复杂的 SQL,...

    Mybatis学习笔记+狂神说

    Mybatis支持自定义插件,如PageHelper分页插件,通过拦截器机制,实现SQL的自动分页。 通过这份笔记,你可以深入理解Mybatis的基本概念和核心功能,掌握其配置、SQL执行、对象映射等关键点,为进一步深入学习和...

    传智燕青 mybatis 课堂笔记

    10. **MyBatis插件**:了解MyBatis提供的插件机制,如PageHelper分页插件,以及如何自定义插件来扩展MyBatis的功能。 11. **MyBatis与Spring的集成**:学习如何将MyBatis整合到Spring框架中,实现DAO的自动注入,...

    MYBATIS学习资料文件

    9. **插件扩展**:MyBatis支持插件,如PageHelper分页插件,可以通过拦截器实现便捷的分页功能。 10. **实战应用**:通过提供的demo,你可以了解如何创建MyBatis项目,如何编写Mapper接口和XML文件,如何配置数据源...

    JavaEE企业级分布式高级架构师018期 94G

    ├─第1章 mybatis从入门到精通 │ │ 第一章第1节: 02-mybatis介绍.mp4 │ │ 第一章第1节: ...│ │ 第一章第1节: 16-mybatis PageHelper分页插件.mp4   │ ├─第3节 9月5日 Mybatis02-手写Mybatis框架

    MyBatis学习笔记2

    10. **MyBatis插件机制**:讲解MyBatis提供的拦截器插件,如PageHelper分页插件的使用和自定义插件开发。 11. **动态SQL**:深入探讨MyBatis的动态SQL特性,如if、choose、when、otherwise、foreach等标签的用法。 ...

    尚硅谷_myBatis

    9. **插件扩展**:myBatis允许自定义插件,如PageHelper分页插件,可以方便地实现数据库分页查询。 10. **使用myBatis进行CRUD操作**:通过Mapper接口,可以方便地实现增删改查操作,例如单个记录的插入、更新、...

    Mybatis学习笔记与代码.zip

    7. **插件机制**:解释Mybatis的拦截器插件,如何编写和使用,如PageHelper分页插件的使用。 8. **事务管理**:说明Mybatis如何与Spring集成,实现声明式事务管理。 9. **实例代码**:压缩包中的代码示例,可能...

    基于springboot后台OA办公管理系统.zip

    pringboot后台OA办公管理系统 项目描述 Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,...pagehelper Mybatis分页插件 1.0.0 https://pagehelper.github.io

Global site tag (gtag.js) - Google Analytics