【MyBatis-Plus】聚合函数的使用

911 阅读1分钟

项目中一直使用 MyBatis-Plus 作为项目持久层的开发,在项目使用过程中,一直采用在mapper.xml 中编写sql来实现聚合函数的统计,比如 SUM、COUNT 等。

Mybatis-Plus 号称是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发。

QQ截图20240705174250.png

我们也用不写sql方式,实现SUM、COUNT的统计。

来,看例子,统计出订单的总金额和总数量

QueryWrapper<Order> queryWrapper = new QueryWrapper<Order>();
queryWrapper.select(" COUNT(*) orderTotalCount ,ROUND(IFNULL(SUM(order_amount),0.0),2) AS orderTotalAmount ");
Map<String,Object> totalMap=iOrderService.getMap(queryWrapper);

获取map中对应的总金额和总数量
Double orderTotalAmount = Double.valueOf(String.valueOf(totalMap.get("orderTotalAmount")));
Integer orderTotalCount =Integer.parseInt(String.valueOf(videoCensus.get("orderTotalAmount")));
 
对应的sql语句

select COUNT(*) orderTotalCount ,ROUND(IFNULL(SUM(order_amount),0.0),2) AS orderTotalAmount from order

综上,确实简化了代码,MyBatis-Plus 还有好多用法,后期继续学习、继续研究!!!