java+mybatis 数据统计每天/月 并补全日期

该博客详细介绍了如何使用Java和MyBatis进行数据统计,包括按天和按月的方式,并展示了如何利用工具类生成完整的日期列表,以确保数据填充的完整性。涉及的内容包括Service层的处理、Mapper XML文件的配置、DTO和VO对象的设计以及日期间隔处理工具类的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

service

public List<DemoVO> queryNum(DemoDTO dto) {
   
		List<DemoVO> list = baseMapper.queryNum(dto);

		/**
		 * 补全时间
		 * 查询范围:1-昨天,2-近?天,3-本月,4-本年
		 */
		List<DemoVO> result = new ArrayList<>();
		int queryRange = dto.getQueryRange();
		if (queryRange == 0 || queryRange == 1){
   
			if (list.size() != 1) {
   
				result.add(DemoVO.getTemp(LocalDate.now().minusDays(1).toString()));
			}
		} else if (queryRange == 2) {
   
			if (list.size() != dto.getQueryDay()) {
   
				LocalDate now = LocalDate.now();
				String startDate = now.minusDays(Long.parseLong(dto.getQueryDay() - 1 + "")).toString();
				String endDate = now.toString();
				result = this.completeData(1, startDate, endDate, list);
			}
		} else if (queryRange == 3) {
   
			LocalDate now = LocalDate.now();
			// 获取当前天数
			int day = now.getDayOfMonth();
			if (list.size() != day) {
   
				String startDate = now.minusDays(Long.parseLong(day - 1 + "")).toString();
				String endDate = now.toString();
				result = this.completeData(1, startDate, endDate, list);
			}
		} else {
   
			YearMonth now = YearMonth.now();
			// 获取当前月数
			int month = now.getMonthValue();
			if (list.size() != month
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值