From 242f843ea1cb2db4ca2526477f3a04e70529b87c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Sun, 9 Apr 2023 16:27:43 +0800 Subject: [PATCH] v1.0.9 release (^.^)YYa!! --- .../core/dialect/CommonsDialectImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java index 2d206f51..25b8b6f0 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/dialect/CommonsDialectImpl.java @@ -290,7 +290,7 @@ public class CommonsDialectImpl implements IDialect { sqlBuilder.append(" FROM ").append(StringUtil.join(", ", queryTables, queryTable -> queryTable.toSql(this))); buildJoinSql(sqlBuilder, queryWrapper, allTables); - buildWhereSql(sqlBuilder, queryWrapper, allTables); + buildWhereSql(sqlBuilder, queryWrapper, allTables, true); buildGroupBySql(sqlBuilder, queryWrapper, allTables); buildHavingSql(sqlBuilder, queryWrapper, allTables); buildOrderBySql(sqlBuilder, queryWrapper, allTables); @@ -325,7 +325,7 @@ public class CommonsDialectImpl implements IDialect { buildJoinSql(sqlBuilder, queryWrapper, allTables); - buildWhereSql(sqlBuilder, queryWrapper, allTables); + buildWhereSql(sqlBuilder, queryWrapper, allTables, true); buildGroupBySql(sqlBuilder, queryWrapper, allTables); buildHavingSql(sqlBuilder, queryWrapper, allTables); @@ -347,7 +347,7 @@ public class CommonsDialectImpl implements IDialect { sqlBuilder.append(StringUtil.join(", ", queryTables, queryTable -> queryTable.toSql(this))); buildJoinSql(sqlBuilder, queryWrapper, allTables); - buildWhereSql(sqlBuilder, queryWrapper, allTables); + buildWhereSql(sqlBuilder, queryWrapper, allTables, false); buildGroupBySql(sqlBuilder, queryWrapper, allTables); buildHavingSql(sqlBuilder, queryWrapper, allTables); @@ -543,7 +543,7 @@ public class CommonsDialectImpl implements IDialect { buildJoinSql(sqlBuilder, queryWrapper, allTables); - buildWhereSql(sqlBuilder, queryWrapper, allTables); + buildWhereSql(sqlBuilder, queryWrapper, allTables, false); buildGroupBySql(sqlBuilder, queryWrapper, allTables); buildHavingSql(sqlBuilder, queryWrapper, allTables); @@ -653,7 +653,7 @@ public class CommonsDialectImpl implements IDialect { //不允许全量更新 if (StringUtil.isBlank(whereConditionSql)) { - throw new IllegalArgumentException(" where conditions can not be null or blank."); + throw new IllegalArgumentException("Not allowed UPDATE a table without where condition."); } sql.append(" WHERE ").append(whereConditionSql); @@ -758,12 +758,14 @@ public class CommonsDialectImpl implements IDialect { } - protected void buildWhereSql(StringBuilder sqlBuilder, QueryWrapper queryWrapper, List queryTables) { + protected void buildWhereSql(StringBuilder sqlBuilder, QueryWrapper queryWrapper, List queryTables, boolean allowNoCondition) { QueryCondition whereQueryCondition = CPI.getWhereQueryCondition(queryWrapper); if (whereQueryCondition != null) { String whereSql = whereQueryCondition.toSql(queryTables, this); if (StringUtil.isNotBlank(whereSql)) { sqlBuilder.append(" WHERE ").append(whereSql); + } else if (!allowNoCondition) { + throw new IllegalArgumentException("Not allowed DELETE a table without where condition."); } } }