Преглед изворни кода

逻辑删除无法 set where entity 一个参数并存逻辑

hubin пре 7 година
родитељ
комит
d16bbbd3f0

+ 3 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/injector/methods/LogicDelete.java

@@ -37,11 +37,12 @@ public class LogicDelete extends LogicAbstractMethod {
         String sql;
         SqlMethod sqlMethod = SqlMethod.LOGIC_DELETE;
         if (tableInfo.isLogicDelete()) {
-            sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlSet(true, true, tableInfo, null),
+            sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlLogicSet(tableInfo),
                 sqlWhereEntityWrapper(tableInfo));
         } else {
             sqlMethod = SqlMethod.DELETE;
-            sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), this.sqlWhereEntityWrapper(tableInfo));
+            sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(),
+                sqlWhereEntityWrapper(tableInfo));
         }
         SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
         return addUpdateMappedStatement(mapperClass, modelClass, sqlMethod.getMethod(), sqlSource);

+ 7 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/H2UserMapperTest.java

@@ -146,4 +146,11 @@ public class H2UserMapperTest extends BaseTest {
         uw.eq("test_id", 101L);
         userMapper.update(new H2User().setName("咩咩"), uw);
     }
+
+
+    @Test
+    public void delete() {
+        userMapper.delete(new QueryWrapper<>(new H2User().setAge(2))
+            .eq("name", "Tony"));
+    }
 }