-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