一准备工作 下载 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();
注意作者说明不支持嵌套结果查询!
分享到:
相关推荐
4. **分页插件**:集成PageHelper进行物理分页,提供易于使用的API。 5. **多表关联查询**:支持单表或多表的关联查询,简化了联表操作。 6. **代码生成器**:正是这个压缩包的核心,它可以自动生成Model、Mapper...
- **分页插件**:集成PageHelper插件,可以方便地实现分页查询,支持多种数据库。 - **无注解配置**:MBP允许开发者通过注解或XML配置,灵活选择使用方式。 2. SpringBoot: SpringBoot是由Pivotal团队提供的全新...
- 分页插件:如 PageHelper,简化分页查询的编写。 10. **最佳实践** - 保持 SQL 语句简洁明了,避免过于复杂的嵌套查询。 - 使用 ResultMap 有效地处理复杂的数据结构。 - 根据项目需求选择合适的事务管理策略...
本篇笔记主要围绕MyBatis如何实现分页查询进行深入探讨。 在传统的SQL查询中,我们通常会使用LIMIT和OFFSET来实现分页,但在大数据量的场景下,这种方式效率较低,因为OFFSET会扫描大量无用的数据。MyBatis提供了更...
MyBatis提供插件扩展机制,用户可以编写自定义插件,如PageHelper分页插件,实现便捷的分页查询。 10. **最佳实践** 使用MyBatis时,应遵循一些最佳实践,如合理设计数据库表结构,避免全表扫描,合理设置事务...
9. **插件机制**:MyBatis允许开发者自定义插件,实现拦截器,如PageHelper分页插件,提高开发效率。 10. **最佳实践**:笔记可能会提供一些MyBatis的使用技巧,如如何优化SQL,如何避免内存溢出等问题。 每个HTML...
- 分页插件:集成PageHelper,实现物理分页和逻辑分页。 3. **核心API** - `BaseMapper`:继承自Mybatis的Mapper接口,包含了基本的CRUD方法。 - `EntityWrapper`:用于构建复杂的查询条件,支持动态SQL。 - `...
在SSM框架下,我们可以使用Mybatis的PageHelper插件或者自定义分页逻辑来实现这一功能。 **PageHelper插件的使用** 1. **安装与配置**:PageHelper是Mybatis的一个扩展,提供了便捷的分页功能。首先,我们需要将...
笔记会介绍插件的创建过程及常见插件的使用,如PageHelper分页插件。 10. MyBatis的最佳实践:这部分内容可能包括日志配置、性能优化、异常处理以及与Spring框架的集成等,帮助读者更好地在实际项目中应用MyBatis。...
7. **插件机制**:学习Mybatis提供的拦截器插件,如PageHelper分页插件,可以提高开发效率。 8. **Mybatis的缓存机制**:理解Mybatis的一级缓存和二级缓存,以及如何自定义缓存。 通过这些知识点的学习,配合视频...
- 分页插件:如 MyBatis-PageHelper,简化分页查询代码。 6. **注意事项** - 注意配置文件中的路径正确性,确保所有资源都能被正确加载。 - 保持良好的编程习惯,避免 SQL 注入等安全问题。 - 对于复杂的 SQL,...
Mybatis支持自定义插件,如PageHelper分页插件,通过拦截器机制,实现SQL的自动分页。 通过这份笔记,你可以深入理解Mybatis的基本概念和核心功能,掌握其配置、SQL执行、对象映射等关键点,为进一步深入学习和...
10. **MyBatis插件**:了解MyBatis提供的插件机制,如PageHelper分页插件,以及如何自定义插件来扩展MyBatis的功能。 11. **MyBatis与Spring的集成**:学习如何将MyBatis整合到Spring框架中,实现DAO的自动注入,...
9. **插件扩展**:MyBatis支持插件,如PageHelper分页插件,可以通过拦截器实现便捷的分页功能。 10. **实战应用**:通过提供的demo,你可以了解如何创建MyBatis项目,如何编写Mapper接口和XML文件,如何配置数据源...
├─第1章 mybatis从入门到精通 │ │ 第一章第1节: 02-mybatis介绍.mp4 │ │ 第一章第1节: ...│ │ 第一章第1节: 16-mybatis PageHelper分页插件.mp4 │ ├─第3节 9月5日 Mybatis02-手写Mybatis框架
10. **MyBatis插件机制**:讲解MyBatis提供的拦截器插件,如PageHelper分页插件的使用和自定义插件开发。 11. **动态SQL**:深入探讨MyBatis的动态SQL特性,如if、choose、when、otherwise、foreach等标签的用法。 ...
9. **插件扩展**:myBatis允许自定义插件,如PageHelper分页插件,可以方便地实现数据库分页查询。 10. **使用myBatis进行CRUD操作**:通过Mapper接口,可以方便地实现增删改查操作,例如单个记录的插入、更新、...
7. **插件机制**:解释Mybatis的拦截器插件,如何编写和使用,如PageHelper分页插件的使用。 8. **事务管理**:说明Mybatis如何与Spring集成,实现声明式事务管理。 9. **实例代码**:压缩包中的代码示例,可能...
pringboot后台OA办公管理系统 项目描述 Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,...pagehelper Mybatis分页插件 1.0.0 https://pagehelper.github.io