鉴于不经常使用容易混淆的limit分页和mybatis的PageHelper分页插件进行记录。
举例limit(0,10)表示从0号索引开始查询10条,等价于limit(10),也就是说当索引号为0的时候可以省略。
PageHelper.startPage(pageNum,pageSize)中pageNum,pageSize并不与limit(x,y)中的x,y对应,pageNum表示当前页,pageSize表示每页多少条,举例limit(x,y)中,索引x=(pageNum-1)*pageSize,条数y=pageSize。
使用这个分页,查询语句要紧挨PageHelper.startPage(pageNum,pageSize),要不容易出现异常,因为是在一个线程中执行,查询语句返回list放到PageInfo中,然后可以直接用返回的pageInfo,也可以自定义pager对象封装所需total总数和list,好像推荐的是使用自定义pager对象,不使用PageHelper.startPage返回的page对象,因为该对象继承自arraylist,然后会出现一些问题。
**注意事项:springboot项目分页插件分页不起作用的原因极大可能是导错了依赖,springBoot2.0集成分页插件直接使用pagehelper-spring-boot-starter依赖就ok了,不要使用ssm用的pagehelper依赖。ssm项目使用该依赖还需要再配置配置文件加插件比较麻烦,远不如springboot方便。