From b04ad8b411a6e8407b6123892e20e3958c567401 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Tue, 9 May 2023 12:07:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mybatisflex/core/util/SqlUtil.java | 10 +++++ .../mybatisflex/spring/service/IService.java | 41 ++++++++++++------- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/SqlUtil.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/SqlUtil.java index 62e8ad96..60fc7870 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/SqlUtil.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/SqlUtil.java @@ -72,5 +72,15 @@ public class SqlUtil { return result >= 1; } + /** + * 根据数据库响应结果判断数据库操作是否成功。 + * + * @param result 数据库操作返回影响条数 + * @return {@code true} 操作成功,{@code false} 操作失败。 + */ + public static boolean retBool(long result) { + return result >= 1L; + } + } diff --git a/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/service/IService.java b/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/service/IService.java index 154dd186..55e4c14a 100644 --- a/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/service/IService.java +++ b/mybatis-flex-spring/src/main/java/com/mybatisflex/spring/service/IService.java @@ -309,13 +309,33 @@ public interface IService { // ===== 数量查询操作 ===== + /** + * 根据查询条件判断数据是否存在。 + * + * @param query 查询条件 + * @return {@code true} 数据存在,{@code false} 数据不存在。 + */ + default boolean exists(QueryWrapper query) { + return retBool(count(query)); + } + + /** + * 根据查询条件判断数据是否存在。 + * + * @param query 查询条件 + * @return {@code true} 数据存在,{@code false} 数据不存在。 + */ + default boolean exists(QueryCondition query) { + return retBool(count(query)); + } + /** * 查询所有数据数量。 * * @return 所有数据数量 */ - default Long count() { - return getBaseMapper().selectCountByQuery(query()); + default long count() { + return getBaseMapper().selectCountByQuery(QueryWrapper.create()); } /** @@ -324,7 +344,7 @@ public interface IService { * @param query 查询条件 * @return 数据数量 */ - default Long count(QueryWrapper query) { + default long count(QueryWrapper query) { return getBaseMapper().selectCountByQuery(query); } @@ -334,7 +354,7 @@ public interface IService { * @param query 查询条件 * @return 数据数量 */ - default Long count(QueryCondition query) { + default long count(QueryCondition query) { return getBaseMapper().selectCountByCondition(query); } @@ -347,7 +367,7 @@ public interface IService { * @return 分页对象 */ default Page page(Page page) { - return getBaseMapper().paginate(page, query()); + return getBaseMapper().paginate(page, QueryWrapper.create()); } /** @@ -369,16 +389,7 @@ public interface IService { * @return 分页对象 */ default Page page(Page page, QueryCondition query) { - return getBaseMapper().paginate(page, query().where(query)); - } - - /** - * 查询包装器。 - * - * @return 查询包装器 - */ - default QueryWrapper query() { - return new QueryWrapper(); + return getBaseMapper().paginate(page, QueryWrapper.create().where(query)); } } \ No newline at end of file