Java统计当月与往月数据 使用StringTemplate

根据订单创建时间获取当月订单总金额

需要显示月份数据

		List dateList = new ArrayList<>();//存时间
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");//时间格式
        Calendar calendar = Calendar.getInstance();
        for (int i = 1; i < 10; i++) {
            dateList.add(simpleDateFormat.format(calendar.getTime()));
            calendar.add(Calendar.MONTH, -1);
        }
        System.out.println(dateList.toString());

显示数据

StringTemplate 模板引擎 – 需要更深了解,自行面向网络编程

StringTemplate不需要使用月份开始 和 结束 between and 去数据库取数据了

以往:2020.01.01 00:00:00 <= date < 2020.02.01 00:00:00
现在:使用2020.01即可

        //根据订单创建时间获取当月订单总金额
        QOrder qOrder = QOrder.order;
        //构造模版
        StringTemplate template = Expressions.stringTemplate("DATE_FORMAT({0},{1})", QOrder.createDate, "%Y-%m");
        List priceList = jpaQueryFactory.
                select(qOrder.price.sum())
                .from(qOrder).where(template.in(dateListNew))
                .fetch();

你可能感兴趣的:(项目遇到的问题总结,java,数据库)