From 9fcb839aae2868431d365ec3a54d1486bc5dcd98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Thu, 6 Apr 2023 15:01:31 +0800 Subject: [PATCH] add deleteByCondition/updateByCondition; rename "selectCountByQuery" to "selectCountByCondition" --- .../java/com/mybatisflex/core/BaseMapper.java | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java index bfc3d88f..2b5e3eb2 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java @@ -91,6 +91,16 @@ public interface BaseMapper { return deleteByQuery(QueryWrapper.create().where(whereConditions)); } + /** + * 根据条件来删除数据 + * + * @param condition 条件 + * @return 返回影响的行数 + */ + default int deleteByCondition(QueryCondition condition) { + return deleteByQuery(QueryWrapper.create().where(condition)); + } + /** * 根据 query 构建的条件来数据吗 * @@ -135,6 +145,29 @@ public interface BaseMapper { return updateByQuery(entity, QueryWrapper.create().where(map)); } + /** + * 根据 condition 来更新数据 + * + * @param entity 数据 + * @param condition 条件 + * @return 返回影响的行数 + */ + default int updateByCondition(T entity, QueryCondition condition) { + return updateByQuery(entity, QueryWrapper.create().where(condition)); + } + + /** + * 根据 condition 来更新数据 + * + * @param entity 数据 + * @param ignoreNulls 是否忽略 null 数据,默认为 true + * @param condition 条件 + * @return 返回影响的行数 + */ + default int updateByCondition(T entity, boolean ignoreNulls, QueryCondition condition) { + return updateByQuery(entity, ignoreNulls, QueryWrapper.create().where(condition)); + } + /** * 根据 query 构建的条件来更新数据 @@ -287,7 +320,7 @@ public interface BaseMapper { * @param condition 条件 * @return 数据量 */ - default long selectCountByQuery(QueryCondition condition) { + default long selectCountByCondition(QueryCondition condition) { return selectCountByQuery(QueryWrapper.create().where(condition)); }