SpringBoot中使用PageHelper

本文介绍了如何在Spring Boot项目中集成PageHelper分页插件,包括依赖引入、配置设置以及在service、dao和mapper中的使用。在遇到`MyBatisSystemException`和`TypeException`错误时,通过检查mapper.xml中的SQL语句,发现并解决了因分号导致的问题,最终实现了正常查询和分页功能。

简单使用

  • 集成

      <dependency>
          <groupId>com.github.pagehelper</groupId>
          <artifactId>pagehelper-spring-boot-starter</artifactId>
          <version>1.2.13</version>
      </dependency>
    
  • 添加properties配置项

      pagehelper.helper-dialect=sqlite
      pagehelper.reasonable=true
      pagehelper.support-methods-arguments=true
    
  • service、dao、mapper中进行常规查询

      //mapper
      select * from user
      
      //dao
      List<User> getUsers();
      
      //service
      public List<User> getUsers() {
          return wrapperDao.getUsers();
      }
    
  • controller中添加分页逻辑

    @GetMapping("getUsers")
    public PageInfo<User> getUsers(int page, int pageSize) {
        /*return PageHelper.startPage(page, pageSize).doSelectPageInfo(
                () -> wrapperService.getUsers()
        );*/
    
        PageHelper.startPage(page, pageSize);
        List<User> users = wrapperService.getUsers();
        return new PageInfo<>(users);
    }
    

问题记录

otherExceptionHandler:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘First_PageHelper’, mode=IN, javaType=class java.lang.Integer, jdbcType=null, numericScale=null, resultMapId=‘null’, jdbcTypeName=‘null’, expression=‘null’}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ArrayIndexOutOfBoundsException: 0

//mapper.xml中简单的sql有问题,查了一天
select * from user;

//解决办法去掉分号,如下即可正常查询不报错
select * from user
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值