用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()方法即可
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论