聂秋秋 5 jaren geleden
bovenliggende
commit
8276d28dc0

+ 30 - 0
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/core/metadata/TableInfoHelperTest.java

@@ -1,7 +1,11 @@
 package com.baomidou.mybatisplus.core.metadata;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -9,6 +13,15 @@ import java.util.Arrays;
 
 class TableInfoHelperTest {
 
+    @Data
+    private static class BaseModel {
+
+        private Long id;
+
+        private String test;
+    }
+
+
     @Data
     private static class ModelOne {
 
@@ -26,10 +39,27 @@ class TableInfoHelperTest {
         private String name;
     }
 
+    @Data
+    @EqualsAndHashCode(callSuper = true)
+    @TableName(excludeProperty = "test")
+    private static class ModelThree extends BaseModel {
+
+        private String sex;
+
+        private String name;
+    }
+
+
     @Test
     void testIsExistTableId() {
         Assertions.assertTrue(TableInfoHelper.isExistTableId(Arrays.asList(ModelOne.class.getDeclaredFields())));
         Assertions.assertFalse(TableInfoHelper.isExistTableId(Arrays.asList(ModelTwo.class.getDeclaredFields())));
     }
 
+    @Test
+    void testExcludeProperty(){
+        TableInfo tableInfo = TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), ModelThree.class);
+        Assertions.assertEquals(tableInfo.getFieldList().size(), 2);
+        tableInfo.getFieldList().forEach(field -> Assertions.assertNotEquals("test", field.getProperty()));
+    }
 }

+ 24 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/H2UserTest.java

@@ -15,7 +15,10 @@
  */
 package com.baomidou.mybatisplus.test.h2;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -462,13 +465,33 @@ class H2UserTest extends BaseTest {
     }
 
     @Test
-    void testClear() {
+    void testSimpleWrapperClear() {
         userService.save(new H2User("逗号", AgeEnum.TWO));
         QueryWrapper<H2User> queryWrapper = new QueryWrapper<H2User>().eq("name", "咩咩");
         Assertions.assertEquals(0, userService.count(queryWrapper));
         queryWrapper.clear();
         queryWrapper.eq("name", "逗号");
         Assertions.assertEquals(1, userService.count(queryWrapper));
+        UpdateWrapper<H2User> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("name", "逗号二号");
+        Assertions.assertFalse(userService.update(updateWrapper.eq("name", "逗号一号")));
+        updateWrapper.clear();
+        updateWrapper.set("name", "逗号一号");
+        Assertions.assertTrue(userService.update(updateWrapper.eq("name", "逗号")));
     }
 
+    @Test
+    void testLambdaWrapperClear() {
+        userService.save(new H2User("小红", AgeEnum.TWO));
+        LambdaQueryWrapper<H2User> lambdaQueryWrapper = new QueryWrapper<H2User>().lambda().eq(H2User::getName, "小宝");
+        Assertions.assertEquals(0, userService.count(lambdaQueryWrapper));
+        lambdaQueryWrapper.clear();
+        lambdaQueryWrapper.eq(H2User::getName, "小红");
+        Assertions.assertEquals(1, userService.count(lambdaQueryWrapper));
+        LambdaUpdateWrapper<H2User> lambdaUpdateWrapper = new UpdateWrapper<H2User>().lambda().set(H2User::getName, "小红二号");
+        Assertions.assertFalse(userService.update(lambdaUpdateWrapper.eq(H2User::getName, "小红一号")));
+        lambdaUpdateWrapper.clear();
+        lambdaUpdateWrapper.set(H2User::getName, "小红一号");
+        Assertions.assertTrue(userService.update(lambdaUpdateWrapper.eq(H2User::getName, "小红")));
+    }
 }