PageHelper的使用

没别的,直接整。

什么Mybatis四大对象,不管了。

引入Jar包:

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

下面在Mybatis的配置文件中注册:

<plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

Attention:plugins元素的位置在TypeAliases之后。关于Mybatis中元素的顺序,自行404。

然后,当你想用分页查询数据时,直接在查询之前调用:

Page page = PageHelper.startPage(int 第几页,int 一页显示多少个)。

注意:对于每个想要分页查询的语句前,都要执行一次。也就是说,它只对一条查询语句起作用。

要获取详细的有关页码、页数、总条数之类的信息,使用PageInfo

PageInfo pageInfo = page.toPageInfo();

其中常用的属性是:

pageNum:当前页
pageSize:每页条数
size:当前页码的条数
total:总条数
pages:总页数
prePage:前一页页码
nextPage后一页页码
isFirstPage:是否是首页
isLastPage:是否是尾页

实例:

不写了

 

MyBatis核心对象

ParameterHandler:处理SQL的参数对象

ResultSetHandler:处理SQL的返回结果集

StatementHandler:数据库的处理对象,用于执行SQL语句

Executor:Mybatis的执行器,用于增删改查操作。

四大对象,是mybatis底层功能的实际执行者。当我们需要对Mybatis的一些操作进行修改时,可以修改四大核心对象来实现。

插件:也就是拦截器。利用JDK的动态代理,可以实现对四大核心对象的拦截以及增强。通俗的说是:使用插件对核心对象进行包裹,进行功能的增强。

自定义Mybatis拦截器,需要实现Interceptor接口,并实现其三个抽象方法:

package pers.wargon.dao.interceptor;

import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.plugin.Invocation;

import java.util.Properties;

//标志拦截器
@intercepts({
    //告诉intercept去拦截type对象的method方法,参数为xxxx.class
    @Signature(type=xxx.class,method="xxxx",args=xxxx.class)
})
public class PageInterceptor implements Interceptor {

    @Override
    //拦截目标对象的目标方法
    public Object intercept(Invocation invocation) throws Throwable {
        

        Object object = invocation.proceed();
        return null;
    }

    @Override
    //plugin用来包装目标对象,为对象创建代理
    //Object o 就是拦截器拦截的对象
    public Object plugin(Object o) {
        //包装目标对象o,用当前类作为代理类
        return Plugin.wrap(o,this);
    }

    @Override
    //用来传递插件参数。在配置文件配置插件时,可以配置参数,在此处获取
    public void setProperties(Properties properties) {

    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PageHelper是一个用于分页查询的Java插件,可以方便地对数据库查询结果进行分页处理。 使用PageHelper可以简化分页操作的代码,它提供了一些方法来处理分页查询,例如设置当前页码、每页显示的记录数、总记录数等。 以下是使用PageHelper的步骤: 1. 添加依赖:在项目的pom.xml文件中添加PageHelper的依赖项。例如: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> ``` 2. 配置PageHelper:在项目的配置文件中(如application.properties或application.yml)配置PageHelper的属性。例如: ```properties # MySQL数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=123456 # PageHelper配置 pagehelper.helper-dialect=mysql pagehelper.reasonable=true pagehelper.support-methods-arguments=true ``` 3. 使用PageHelper:在需要进行分页查询的方法中,通过调用PageHelper.startPage方法来开启分页功能,并设置相关参数。例如: ```java public List<User> getUsers(int pageNum, int pageSize) { // 开始分页 PageHelper.startPage(pageNum, pageSize); // 执行查询操作,获取分页结果 List<User> userList = userMapper.getUsers(); // 返回分页结果 return userList; } ``` 在以上示例中,startPage方法将会对后续的查询进行分页处理,pageNum参数指定当前页码,pageSize参数指定每页显示的记录数。最后,返回的是经过分页处理的结果。 注意:需要结合具体的ORM框架(如MyBatis)来使用PageHelper,并且需要正确配置数据库相关信息和PageHelper的属性。具体的使用方式可以参考PageHelper的官方文档或示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值