首先,我们要真分页查询文件
然后,由于文件数据很多,我们设计了根据文件名称模糊查询文件的功能
由于采取了分页,需要根据查询出来的总的文件数来判断到底有几页
根据上面的几个需求,我们写了三个接口:
1.真分页查询每一页的数据
2.根据文件名真分页模糊查询
3.查询文件总数
优化:
三个合成一个
实现:
定义一个基础分页类basePage(好处:任何需要分页的地方只要继承这个基础分页类即可):
//@Data可以为类提供读写功能,从而不用写get、set方法;他还会为类提供 equals()、hashCode()、toString() 方法。
//使用方法:
//1.下载lombok插件
//2.重启idea
//3.maven库中添加依赖
//<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
//4.在实体类上添加@Data注解即可生效
@Data
public class basePage {
private Integer pageNum=1;
private Integer pageSize=10;
private String orderBy;
}
InformationEntity:
InformationEntity继承basePage
@Data
@TableName("t_information")
//实现Serializable接口的目的是为类可持久化,在网络传输或本地存储,为系统的分布和异构部署提供了先决条件。若没有序列化,现在我们所熟悉的远程调用,对象数据库都不可能存在
public class InformationEntity extends basePage implements Serializable {
//serialVersionUID适用于java序列化机制
//JAVA序列化的机制是通过 判断类的serialVersionUID来验证的版本一致的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID于本地相应实体类的serialVersionUID进行比较。如果相同说明是一致的,可以进行反序列化,否则会出现反序列化版本一致的异常,即是InvalidCastException。
//serialVersionUID有两种显示的生成方式:
//一是默认的1L,比如:private static final long serialVersionUID = 1L;
//二是根据包名,类名,继承关系,非私有的方法和属性,以及参数,返回值等诸多因子计算得出的,极度复杂生成的一个64位的哈希字段。基本上计算出来的这个值是唯一的。比如:private static final long serialVersionUID = xxxxL;
private static final long serialVersionUID = 1L;
/**
* 文件id
*/
@TableId
private String i