【发布时间】:2016-12-19 02:54:17
【问题描述】:
我尝试过立即使用日历和 for 循环
for(int i = 6; i >= 0; --i){
GraphDto graphDto=new GraphDto();
Calendar c2=Calendar.getInstance();
c2.add(Calendar.MONTH,-i);
c2.set(Calendar.DAY_OF_MONTH, 1);
graphDto.setLabel(getMonth(c2.get(Calendar.MONTH)));
Date fromDate1=c2.getTime();
c2.set(Calendar.DAY_OF_MONTH;
c2.getActualMaximum(Calendar.DAY_OF_MONTH));
Date toDate1=c2.getTime();
Double value1=billHistoryRepository.findAmount(fromDate1,toDate1);
Double value2=paymentHistoryRepository.findAmount(fromDate1,toDate1);
c2.add(Calendar.MONTH,1);
if(value1!=null) {
graphDto.setValue1(value1);
}
if(value2!=null) {
graphDto.setValue2(value2);
graphDtoList.add(graphDto);
}
}
花费太多时间并反复调用存储库。有没有其他方法可以查到,比如jdbc查询什么的
【问题讨论】:
-
您不能一次获取过去 6 个月的数据,然后在 Java 代码中按月分组吗?
标签: java mysql rest spring-boot spring-data-jpa