Parcourir la source

新增 exists 方法判断是否存在满足指定查询条件的记录

hubin il y a 1 an
Parent
commit
fcd93dc802

+ 15 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/IService.java

@@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWra
 import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.kotlin.KtQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.kotlin.KtUpdateChainWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.toolkit.ChainWrappers;
 import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
 import org.springframework.transaction.annotation.Transactional;
@@ -564,6 +565,20 @@ public interface IService<T> {
      */
     Class<T> getEntityClass();
 
+    /**
+     * 判断是否存在满足 Wrapper 条件的数据
+     *
+     * @param queryWrapper 查询条件
+     * @return
+     */
+    default boolean exists(Wrapper<T> queryWrapper) {
+        return !this.page(Page.of(0, 1, false), queryWrapper).getRecords().isEmpty();
+    }
+
+    default Optional<Boolean> existsOpt(Wrapper<T> queryWrapper) {
+        return Optional.of(this.exists(queryWrapper));
+    }
+
     /**
      * 以下的方法使用介绍:
      *