`

pageHelper使用例子

 
阅读更多

使用背景:

     项目组使用自己封装的PageInterceptor,但是这里面有一处耗用cpu过高的地方

 

 private String getCountSql(String sql) {
        int index = sql.toUpperCase().indexOf("FROM");
        return "SELECT COUNT(*) " + sql.substring(index);
    }

 这段count(*) 会把原有的sql直接包装进去,一般sql执行时间还可以,但是遇到比较复杂的sql,执行时间就会很高,综合考虑准备使用github的PageHelper

 

直接说实现结果

 

1.pom.xml配置:

 

 

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

 

 

2.mybatis-conf.xml

 

 

<plugins>
         <plugin interceptor="com.github.pagehelper.PageInterceptor" >
		<!-- 支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 -->
		<property name="supportMethodsArguments" value="true"/>
	</plugin>
    </plugins>

 3.实现类中

 

 

 

   PageInfo<A> pageinfo = PageHelper.startPage(page.getCurrPage(), page.getPageSize(),page.getPageTotal() == null ? true : false).doSelectPageInfo(new ISelect() {
		@Override
		public void doSelect() {
                       C.this.getDao(B.class).findHousePage(page);
		}
	    });
        
    if(page.getPageTotal() != null){
            page.setTotal( page.getPageTotal().intValue());
    }else {
            page.setTotal((int) pageinfo.getTotal());
    }
    List<A> list =pageinfo.getList();
    page.setRows(list);
    return page;

4.count方法:

 

 

Long findHousePage_COUNT(A   page);

PageHelper会自动执行_COUNT 计算的接口

 

这次只是一个简单的实现例子,有关其他的特性,以后再继续整理

 

 

分享到:
评论

相关推荐

    Mybatis分页插件 - PageHelper介绍

    以下是一个简单的使用PageHelper进行分页查询的例子: ```java // 配置分页 PageHelper.startPage(pageNum, pageSize); // 执行查询 List&lt;User&gt; users = userMapper.selectAll(); // 获取Page对象 Page&lt;User&gt; ...

    PageHelper插件框架.rar

    下面将详细介绍PageHelper插件的工作原理、功能特点以及如何在项目中集成和使用。 一、工作原理 PageHelper通过动态代理的方式,拦截SQL执行过程,自动添加分页相关的SQL语句。在查询前,PageHelper会根据设置的...

    Mybatis-PageHelper-5.3.1.tar.gz

    在使用Mybatis-PageHelper-5.3.1之前,你需要先在项目中集成Mybatis和PageHelper。这通常包括以下几个步骤: 1. 添加依赖:在你的Maven或Gradle项目中,你需要将PageHelper的依赖添加到构建文件中。对于Maven,可以...

    PageHelper分页插件的使用方法。

    ### PageHelper 分页插件使用详解 #### 一、PageHelper简介 PageHelper是一款针对MyBatis的强大分页插件,它支持多种数据库,并且能够为开发者提供方便快捷的分页功能实现。PageHelper不仅提供了丰富的自定义设置...

    sprongboot+pagehelper+layui.table分页

    3. **使用PageHelper进行分页**:在Service层,通过PageHelper的`startPage()`方法设定分页参数,然后调用Mapper接口的查询方法。 4. **获取总记录数**:对于多表查询,需要额外编写一个只计算总数的SQL,使用`...

    bootstrap与pagehelper实现分页效果

    在这个例子中,`PageParam`对象包含了当前页码和每页的记录数,PageHelper 会根据这些信息动态构建SQL。 前端与后端的交互通常通过Ajax 完成。当用户点击分页导航上的按钮时,前端会发送一个Ajax 请求,将当前页码...

    springboot-pageHelper.zip--mybatis分页

    在这个例子中,`PageHelper.startPage(pageNum, pageSize)`启动分页,`selectAllUsers()`是Mapper中的查询所有用户的方法。Page对象包含了当前页数据和分页信息,如总页数、总记录数等,可以方便地在Controller层...

    springboot+thymeleaf+pagehelper+easyui分页

    1. 数据库查询:使用MyBatis配合PageHelper,通过设置PageHelper的参数(如页码、每页大小)来执行分页查询,PageHelper会自动处理SQL的limit部分。 2. 数据处理:Spring Boot的Controller层接收到请求后,调用...

    Mybatis Plus整合PageHelper分页的实现示例

    在这个例子中,`selectByCondition` 是自定义的查询方法,PageInfo 是 PageHelper 提供的用于封装分页结果的类,包含了总页数、总记录数等信息。 通过这种方式,我们可以将 Mybatis Plus 的强大功能和 PageHelper ...

    SpringBoot 2.0.2.RELEASE以XML的形式整合 Mybatis +PageHelper (分页)

    接下来,在Service层中注入Mapper,并使用PageHelper进行分页查询。例如: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public PageInfo&lt;User&gt; getUsersByPage...

    PageHelper 分页插件

    在代码中,可以使用PageHelper提供的`startPage()`方法来启动分页,然后进行正常的查询操作。下面是一个简单的使用示例: ```java // 创建Page对象,通常是从请求参数中获取页码和每页数量 PageHelper.Page...

    SSM框架实现分页查询例子

    3. **PageHelper使用**:在Service或DAO层的方法中,我们可以通过PageHelper的startPage()方法来设置当前页码和每页显示的记录数。之后执行的任何MyBatis的查询语句都会自动转化为带有LIMIT和OFFSET的分页SQL。 4. ...

    mybatis分页查询例子 idea实现

    本例子将详细介绍如何在IDEA中使用MyBatis进行分页查询,并以员工工资为例进行说明。 首先,我们需要了解MyBatis中的分页插件PageHelper。PageHelper是MyBatis的一个非常实用的辅助插件,它可以无缝地与MyBatis整合...

    ssm纯注解配置例子.rar

    这个"ssm纯注解配置例子.rar"文件显然包含了关于如何在项目中使用SSM框架进行纯注解配置的示例代码。下面将详细阐述SSM框架中的注解配置及其相关知识点。 首先,Spring框架提供了丰富的注解来简化配置,如`@...

    基于Spring MVC的web框架 1.1.11

    # demoWeb 一个基于SpringMVC的web框架 1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 ...增加Mybatis插件pageHelper,Mapper doc内有相关文档

    jfinal增删改查例子

    此外,JFinal 还支持分页查询,通过PageHelper插件可以轻松实现。 7. **导入数据库** "jfinal增删改查例子"项目已经包含了数据库文件,解压后可以直接导入到MySQL数据库。通常,这些文件可能是.sql格式,使用...

    spring boot mybatis oracle 例子

    spring boot mybatis oracle 例子 1. 排序条件带上 2.分页语句下面连着查询语句 PageHelper.startPage(1, 2, "RECORD_DATE desc"); 实现分页,包已经导入了

    springboot集成mybatis分页,freemark,spring,logback完整小例子

    MyBatis提供了分页插件,例如PageHelper,可以方便地实现分页功能。通过配置和使用这些插件,开发者可以在编写SQL时无需考虑分页逻辑,只需关注查询条件即可。 5. **FreeMarker** FreeMarker是一个模板引擎,用于...

    分页编写 (1).docx

    本篇将详细介绍如何使用PageHelper进行分页,以及前端如何与后端配合实现分页功能。 **1. PageHelper 分页** PageHelper 是 GitHub 上的一个开源项目,用于 MyBatis 的分页插件,它提供了简单的API,可以方便地在...

    Mybatis分页插件

    在实际使用PageHelper时,我们首先需要在项目的pom.xml文件中添加PageHelper的依赖,然后在Mybatis的配置文件mybatis-config.xml中启用插件,并配置相应的数据库连接信息。接着,在Mapper接口中,我们可以使用...

Global site tag (gtag.js) - Google Analytics