-4
,以从数据库中获得最后六月份的数据试图与压延瞬间像我如何通过一个月基地
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);
}
}
循环花费太多的时间和重复调用库。有来自bill_history组的任何其他方法找出来,像JDBC查询或东西
你看过这个http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods吗? – Deceiver
难道你不能一次获得最近6个月的数据,然后每个月在Java代码中进行分组? – g00glen00b