使用LambdaWrapper实现去重查询方式
更新时间:2026年01月07日 09:32:27 作者: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()方法即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决mysql ERROR 1017:Can''t find file: ''/xxx.frm'' 错误
如果重启服务器前没有关闭mysql,MySql的MyiSAM表很有可能会出现 ERROR #1017 :Can't find file: '/xxx.frm' 的错误2011-08-08
MySQL中CURRENT_TIMESTAMP时间戳的使用详解
这篇文章主要给大家介绍了关于MySQL中CURRENT_TIMESTAMP时间戳的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2022-03-03
解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restar
这篇文章主要介绍了解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-05-05
浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解
下面小编就为大家带来一篇浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-09-09


最新评论