简单使用
-
集成
<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