对于使用Mybatis时,最头痛的就是写分页,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,sqlserver数据库因为分组的原因还不得不嵌套重复的数据,如此重复下去会导致sql语句日益庞大。
pageHepler,springboot支持的一种分页体系,只需要导入相应的pom依赖,我们就可以在代码中非常轻松地使用它。
导入依赖,注意版本和内置关系
com.github.pagehelper
pagehelper-spring-boot-starter
org.apache.tomcat
tomcat-jdbc
1.2.3
如何使用呢------------------------->外部传入页码和显示条数,调用内部的一个方法即可完成分页
@Override
public List quertPagePieImage(int pageNum, int pageSize) {
log.info("分页查询扇形图数据,传入页码{},传入页码数据显示{}条",pageNum,pageSize);
PageHelper.startPage(pageNum,pageSize);
List list = pieImageMapper.queryPieImageList();
return list;
}
通过调用PageHelper.startPage(pageNum,pageSize)方法,传入页码和条数,该插件会自动将数据进行整合,如果你想完成更加复杂的分页,可以参考其他的方法
这款插件内置了多款不同场景的方法便于使用,根据需求调用即可。
最终展示和查询出的数据如下:
如上图所示,数据库共存储了十条数据,分别调用分页插件显示前五条数据和最后第三页的四条数据,最终都成功显示,代表此处的分页插件已经起作用。同时,在项目中使用时,只需调用此方法,可以在数据库查询中更加关注于数据和业务本身,大大减少冗余代码。但是,此款插件不能满足所有需求,需根据实际情况进行调用。
lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法
导入依赖
org.projectlombok
lombok
1.16.20
provided
很多人都说直接下载一个插件lombok不行吗?我觉得可以,但是下载插件后载重启,印入我眼帘的是这样的
如果只是导入插件而不导包的话,我本地是启动不起来的。
大家也可以通过上图的右边区域观察到,lombok工具可以一键生成大量的基础代码,而@Data这个注解,则涵盖了绝大多数的可能性,通常,一个注解即可以解决基本问题。
@Data的源码告诉我们,它集成了包括getset在内的基础方法的整合,所以我们可以使用它一键生成其他代码。
package com.lxt.model;
import lombok.Data;
@Data
public class PieImage {
private String name;
private String value;
}
类似于这种,简单明了,也没有什么冗余代码扰乱我们的视线。
其实,不只是springboot,spring大家族还有很多新东西等待我们去发现。加油。