伪代码
controller层
@Autowired
private MonthlyStatistics monthlyStatistics;
@RequestMapping("/getLoanSlipReport")
public ResultBody getLoanSlipReport(){
Map<String,Object> map = new HashMap<>();
List<String> months = new ArrayList();
//获取日历对象,模拟的就是当前时间
Calendar calender = Calendar.getInstance();
//获得当前时间往后推12个月
calendar.add(Calendar.MONTH,-12);
//计算过去一年的12个月
for (int i = 0;i < 12; i++) {
//获得过去一年往后推一个月日期
calendar.add(Calendar.MONTH,1);
Date date = calendar.getTime();
months.add(new SimpleDateFormat("yyyy-MM").format(date));
}
map.put("months",months);
//获取每月查询出的统计数
List<Integer> count= monthlyStatistics.findCount(months);
map.put("count",count);
return ResultBody.success(map);
}
service层
public interface MonthlyStatisticsService {
/**
* 根据月份统计已受理贷款总数
* @param months
* @return
*/
List<Integer> findCount(List<String> months);
}
@Service
public class MonthlyStatisticsServiceImpl implements MonthlyStatisticsService {
List<Integer> acceptedCount = new ArrayList<>();
for (String month : months) {
//这个对应的是我数据库的时间格式
String startTime= month + "-1 00:00:01";
String endTime= month + "-31 23:59:59";
Integer count = loansBillMapper.findCount(startTime, endTime);
acceptedCount.add(count);
}
return acceptedCount;
}
mapper
Integer findCount(@Param("start")String startTime, @Param("end")String endTime);
<!--统计每月的数据-->
<select id="findCount" parameterType="string" resultType="int">
select count(id) from table where createTime >=#{start} AND createTime <= #{end}
</select>
Calendar.MONTH 对应的是月 有相对应的年和日,反推就行了
emmm…
版权声明:本文为m0_53623125原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。