lambdaquerywrapper聚合函数
时间: 2023-08-21 09:15:55 浏览: 121
MySql 中聚合函数增加条件表达式的方法
LambdaQueryWrapper是无法直接使用sum聚合函数的,因为LambdaQueryWrapper的select()方法无法传入字符串。但是,我们可以通过一些技巧来实现。首先,我们可以使用QueryWrapper来处理掉聚合函数,然后再使用.lambda()方法将其转换为LambdaQueryWrapper,以便在下面使用lambda写法。现在,我们可以使用SUM(fee_amt)来计算手续费总额,将其直接放入fee_amt字段中,无需添加新的属性。如果不想这样处理,也可以通过添加一个新的对象来补充一个汇总字段。要注意的是,LambdaQueryWrapper的select方法使用SFunction接收参数,并将参数转换为字符串。因此,我们可以根据流的方式将SFunction转换为字符串,以便使用聚合函数。下面是一个处理sql查询字段名的示例代码:private String getParamSql(SFunction<OrderModel, ?>... columns) { return Arrays.stream(columns).map(c -> StrUtil.toUnderlineCase(LambdaUtils.getName(c))).collect(Collectors.joining(StringPool.COMMA, StringPool.SPACE, StringPool.SPACE)); }
阅读全文