Java 数据可视化(以日期为X轴的 柱形/折线 统计图)

目录

一,统计图用GROUP BY 给日期分组的缺陷

 二,解决GROUP BY 日期分组的缺陷问题

三,代码流程图

四,各层代码

1.目录结构

2.Controller层代码

3.service层代码

4.日期工具类

5.Dto层

6.req

7.mapper层

8.XML

五,代码执行效果图

 六,gitee 项目地址


一,统计图用GROUP BY 给日期分组的缺陷

像下方这种以日期为X轴的 折线 统计图我们该如何给前端提供数据呢,我们在统计数据的时候通常都是用 GROUP BY 来进行分组统计,但是 GROUP BY 用来给日期分组统计会有一个缺陷,就是如果有些日期没有数据,就不会有这天的分组,直接把数据提供给前端,出来的统计图日期就不是连续的。

 二,解决GROUP BY 日期分组的缺陷问题

解决这个问题其实很简单,只要生成完整的日期,再把查出来的数据放入相应的日期里,没有数据的日期填充 0 ,因为每个月的天数都不是一样的,所以要用到日历类Calendar 来生成日期。

三,代码流程图

四,各层代码

1.目录结构

 

2.Controller层代码

import com.example.datavisualization.practises.model.req.StatisticsReq;
import com.example.datavisualization.practises.service.StatisticsService;
import com.example.datavisualization.response.ResponseData;
import com.example.datavisualization.response.SuccessResponseData;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;

/**
 * @author XiaoXiongQAQ
 * @Date 2022/6/17
 */
@RestController
@RequestMapping("home")
public class StatisticsController {
    @Resource
    private StatisticsService statisticsService;

    /**
     * 入参传入字段 startDate,endDate
     * 入参格式
     * {
     *   "startDate": "2022-06-14 19:46:16",
     *   "endDate": "2022-06-24 19:46:16"
     *   }
     * @param statisticsReq
     * @return SuccessResponseData
     */
    @PostMapping("/getStatistics")
    public ResponseData addHhh(@RequestBody StatisticsReq statisticsReq){
        HashMap<Object, Object> statistics = statisticsService.statistics(stati
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值