大老朱 發表於 2026-1-7 09:32:27

使用LambdaWrapper实现去重查询方式

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">用LambdaWrapper去实现去重查询</a></li><ul class="second_class_ul"><li><a href="#_lab2_0_0">我们知道</a></li><li><a href="#_lab2_0_1">QueryWrapper转换成LambdaWrapper</a></li></ul><li><a href="#_label1">总结</a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>用LambdaWrapper去实现去重查询</h2>
<p class="maodian"><a name="_lab2_0_0"></a></p><h3>我们知道</h3>
<p>LambdaWrapper比较好用,但是LambdaWrapper却不能实现<code>select(String s)</code></p>
<p>那只需要进行QueryWrapper与LambdaQueryWrapper的混合使用就可以了,所以巧妙转换很重要</p>
<div class="jb51code"><pre class="brush:sql;">@Override
    public Integer getCountAbPressure(String customerId, LocalDateTime firstDay, LocalDateTime lastDay, List&lt;String&gt; list, Integer type) {
      QueryWrapper&lt;CustomerBodyMetricsEntity&gt; wrapper = new QueryWrapper&lt;&gt;();
      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);
    }
</pre></div>
<p class="maodian"><a name="_lab2_0_1"></a></p><h3>QueryWrapper转换成LambdaWrapper</h3>
<p>只需要<code>lambda()</code>方法即可</p>
<p class="maodian"><a name="_label1"></a></p><h2>总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
頁: [1]
查看完整版本: 使用LambdaWrapper实现去重查询方式