Springboot+Mybatisplus项目使用分页插件pagehelper如何查询全部
Springboot+Mybatisplus项目使用分页插件pagehelper如何查询全部
学习使用此分页插件最好的办法还是观看插件官网,关于使用此插件如何实现查询全部,往上看了很还很多,有的说设置参差不齐。最后还是看官网解决的问题,主要是时间不同,插件得版本也不同,还有得说的不齐全,只说了怎么设置参数,设置pagenum(1),pagesize(0)
没说还有yml文件需要配置。所以尝试半天没有效果以为是其他问题,下面我简单谈谈怎么使用pagehelper 插件
附带pagehulper使用文档官网如何使用分页插件
1,springboot+mybatis项目就不用说了吧, pom.xml文件导入相关得java包,注意版本
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
2,需要配置application.yml文件,许多相关得功能开启都需要在配置文件里面配置,具体有哪些就需要去看官方文档了,曾经得使用方式不代表现在得使用方式了,而在往上查询得有很多是以前得使用方式,当时正确,现在不一定了,所以最正确得方式还是去看官网。一直是最新的更新。
pagehelper:
helperDialect: sqlserver
reasonable: true
supportMethodsArguments: true
pageSizeZero: true
注意第四条, pageSizeZero: true 开启查询全部size= 0 就可以了
分页插件参数介绍
分页插件提供了多个可选参数,这些参数使用时,按照上面两种配置方式中的示例配置即可。
分页插件可选参数如下:
dialect
:默认情况下会使用 PageHelper 方式进行分页,如果想要实现自己的分页逻辑,可以实现Dialect
(com.github.pagehelper.Dialect
) 接口,然后配置该属性为实现类的全限定名称。
下面几个参数都是针对默认 dialect 情况下的参数。使用自定义 dialect 实现时,下面的参数没有任何作用。
-
helperDialect
:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect
属性来指定分页插件使用哪种方言。配置时,可以使用下面的缩写值:oracle
,mysql
,mariadb
,sqlite
,hsqldb
,postgresql
,db2
,sqlserver
,informix
,h2
,sqlserver2012
,derby
特别注意:使用 SqlServer2012 数据库时,需要手动指定为sqlserver2012
,否则会使用 SqlServer2005 的方式进行分页。
你也可以实现AbstractHelperDialect
,然后配置该属性为实现类的全限定名称即可使用自定义的实现方法。 -
offsetAsPageNum
:默认值为false
,该参数对使用RowBounds
作为分页参数时有效。 当该参数设置为true
时,会将RowBounds
中的offset
参数当成pageNum
使用,可以用页码和页面大小两个参数进行分页。 -
rowBoundsWithCount
:默认值为false
,该参数对使用RowBounds
作为分页参数时有效。 当该参数设置为true
时,使用RowBounds
分页会进行 count 查询。 -
pageSizeZero
:默认值为false
,当该参数设置为true
时,如果pageSize=0
或者RowBounds.limit = 0
就会查询出全部的结果(相当于没有执行分页查询,但是返回结果仍然是Page
类型)//分页查询的条件是在报文尾对象中 Integer current = 1; Integer size = 0 ; String additionInfostr = jsonObject.get("additionInfo") == null ? "" : jsonObject.get("additionInfo").toString(); if(!additionInfostr.equals("")){ AdditionInfo additionInfoin = JSONObject.parseObject(additionInfostr, AdditionInfo.class); current = Math.toIntExact(additionInfoin.getCurrent() == null ? 1 : additionInfoin.getCurrent()); //每页数量 如果前端不传值 默认查询全部 size = Math.toIntExact(additionInfoin.getSize() == null ? 0 : additionInfoin.getSize()); } //分页查询语句添加到条件查询语句上面 PageHelper.startPage(current, size); List<Syssetting> sysUserList = iSyssettingService.list(queryWrapper);
如果前端不传值,则默认查询全部,可以进行判断赋值。
-
postman测试
-
{ "head": { "function_code": "ZNDJ10202", "date_time": "202207201041", "keyExamPlace": "ZNDJ10101", "keyHospital": "123123213" }, "data":{ "keyExamPlace" : "4ACA027E-41B9-EB11-80C6-A4BB6D654571" }, "additionInfo": { } }
更多推荐
所有评论(0)