Browse Source

逻辑删除顺序调整

Caratacus 8 years ago
parent
commit
304ce6e1a2

+ 1 - 2
src/main/java/com/baomidou/mybatisplus/mapper/LogicSqlInjector.java

@@ -267,10 +267,9 @@ public class LogicSqlInjector extends AutoSqlInjector {
                 where.append(convertIfTag(fieldInfo, true));
             }
             where.append("\n</if>");
+            where.append("\n").append(getLogicDeleteSql(table));
             where.append("\n<if test=\"ew.sqlSegment!=null\">${ew.sqlSegment}\n</if>");
             where.append("\n</if>");
-            // 过滤逻辑, 这段代码放在这里的原因,第一:不把 逻辑的过滤 放在where条件 第一位, 能够方便利用索引
-            where.append("\n").append(getLogicDeleteSql(table));
             where.append("\n</where>");
             return where.toString();
         }

+ 5 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2LogicDeleteTest.java

@@ -18,7 +18,9 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
 
+import com.baomidou.mybatisplus.mapper.Condition;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.test.h2.config.ServiceConfig;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserLogicDelete;
 import com.baomidou.mybatisplus.test.h2.service.IH2UserLogicDeleteService;
@@ -78,7 +80,10 @@ public class H2LogicDeleteTest extends H2Test {
         H2UserLogicDelete userFromDB = userService.selectById(user.getId());
         Assert.assertEquals("Caratacus", userFromDB.getDesc());
         Assert.assertEquals(1, userFromDB.getVersion().intValue());
+        Page page = new Page();
 
+        page.setOrderByField("desc");
+        userService.selectPage(page, Condition.create().eq("desc","111"));
         userService.deleteById(id);
         list = userService.selectList(ew);
         System.out.println("************************************");