Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > LambdaWrapper实现去重查询

使用LambdaWrapper实现去重查询方式

作者:HRX98

文章讲述了如何在使用LambdaWrapper进行去重查询时,由于LambdaWrapper不能直接实现select(String[]),通过与QueryWrapper结合使用,利用lambda()方法进行转换,从而实现所需的功能

用LambdaWrapper去实现去重查询

我们知道

LambdaWrapper比较好用,但是LambdaWrapper却不能实现select(String s)

那只需要进行QueryWrapper与LambdaQueryWrapper的混合使用就可以了,所以巧妙转换很重要

@Override
    public Integer getCountAbPressure(String customerId, LocalDateTime firstDay, LocalDateTime lastDay, List<String> list, Integer type) {
        QueryWrapper<CustomerBodyMetricsEntity> wrapper = new QueryWrapper<>();
        wrapper.select("DISTINCT version")
                .lambda()
                .eq(CustomerBodyMetricsEntity::getCustomerId, customerId)
                .ge(CustomerBodyMetricsEntity::getVersion, DateTimeUtil.dateTimeToTimestamp(firstDay))
                .le(CustomerBodyMetricsEntity::getVersion, DateTimeUtil.dateTimeToTimestamp(lastDay))
                .in(CustomerBodyMetricsEntity::getMetric, list)
                .ne(CustomerBodyMetricsEntity::getLabel, 20);
        return this.count(wrapper);
    }

QueryWrapper转换成LambdaWrapper

只需要lambda()方法即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文