Selaa lähdekoodia

add test case for TableField.ignore

yuxiaobin 8 vuotta sitten
vanhempi
commit
3226b33d31

+ 79 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2IgnoreFieldTest.java

@@ -0,0 +1,79 @@
+package com.baomidou.mybatisplus.test.h2;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.sql.DataSource;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserIgnoreMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserIgnore;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/5/31
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:h2/spring-test-h2-metaobj.xml"})
+public class H2IgnoreFieldTest extends H2Test {
+
+    @Autowired
+    H2UserIgnoreMapper ignoreMapper;
+
+    @BeforeClass
+    public static void initDB() throws SQLException, IOException {
+        @SuppressWarnings("resource")
+        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:h2/spring-test-h2-metaobj.xml");
+        DataSource ds = (DataSource) context.getBean("dataSource");
+        try (Connection conn = ds.getConnection()) {
+            String createTableSql = readFile("user.ddl.sql");
+            Statement stmt = conn.createStatement();
+            stmt.execute(createTableSql);
+            stmt.execute("truncate table h2user");
+            executeSql(stmt, "user.insert.sql");
+            conn.commit();
+        }
+    }
+
+
+    @Test
+    public void testIgnore(){
+        H2UserIgnore u = new H2UserIgnore();
+        u.setName("ignoreTest");
+        u.setTestType(1);
+        u.setDesc("ignoreDesc");
+        Assert.assertEquals(1, ignoreMapper.insert(u).intValue());
+
+        Long id = u.getId();
+        Assert.assertNotNull(id);
+
+        H2UserIgnore dbUser = ignoreMapper.selectById(id);
+        Assert.assertNull(dbUser.getTestType());
+
+        dbUser.setTestType(2);
+        dbUser.setDesc("ignoreDesc2");
+        Assert.assertEquals(1, ignoreMapper.updateById(dbUser).intValue());
+
+        dbUser = ignoreMapper.selectById(id);
+        Assert.assertEquals("ignoreDesc", dbUser.getDesc());
+        Assert.assertEquals(2, dbUser.getTestType().intValue());
+
+    }
+
+
+
+}

+ 1 - 1
src/test/java/com/baomidou/mybatisplus/test/h2/H2Test.java

@@ -17,7 +17,7 @@ import java.sql.Statement;
 public class H2Test {
 
     public static void executeSql(Statement stmt, String sqlFilename) throws SQLException, IOException {
-        String filePath = H2UserNoOptLockTest.class.getResource("/h2/" + sqlFilename).getPath();
+        String filePath = H2Test.class.getResource("/h2/" + sqlFilename).getPath();
         try (
                 BufferedReader reader = new BufferedReader(new FileReader(filePath))
         ) {

+ 2 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/config/MybatisPlusMetaObjConfig.java

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.MybatisConfiguration;
 import com.baomidou.mybatisplus.MybatisXMLLanguageDriver;
 import com.baomidou.mybatisplus.entity.GlobalConfiguration;
 import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.plugins.PerformanceInterceptor;
 import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean;
 import com.baomidou.mybatisplus.test.h2.H2MetaObjectHandler;
 
@@ -42,6 +43,7 @@ public class MybatisPlusMetaObjConfig {
         PaginationInterceptor pagination = new PaginationInterceptor();
         sqlSessionFactory.setPlugins(new Interceptor[]{
                 pagination,
+                new PerformanceInterceptor()
         });
         sqlSessionFactory.setGlobalConfig(globalConfiguration);
         return sqlSessionFactory.getObject();

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserIgnoreMapper.java

@@ -0,0 +1,15 @@
+package com.baomidou.mybatisplus.test.h2.entity.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserIgnore;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/28
+ */
+public interface H2UserIgnoreMapper extends BaseMapper<H2UserIgnore> {
+
+}

+ 45 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserIgnore.java

@@ -0,0 +1,45 @@
+package com.baomidou.mybatisplus.test.h2.entity.persistent;
+
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.annotations.Version;
+import com.baomidou.mybatisplus.enums.FieldIgnore;
+import com.baomidou.mybatisplus.enums.FieldStrategy;
+import com.baomidou.mybatisplus.test.h2.entity.SuperEntity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 字段忽略 测试实体
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/28
+ */
+@Data
+@Accessors(chain = true)
+@TableName("h2user")
+public class H2UserIgnore extends SuperEntity {
+
+    /* 测试忽略验证 */
+    private String name;
+
+    private Integer age;
+
+    /*BigDecimal 测试*/
+    private BigDecimal price;
+
+    /* 测试下划线字段命名类型, 字段填充 */
+    @TableField(value = "test_type", strategy = FieldStrategy.IGNORED, ignore = FieldIgnore.UPDATE)
+    private Integer testType;
+
+    @TableField(value = "desc", ignore = FieldIgnore.INSERT)
+    private String desc;
+
+    @Version
+    private Integer version;
+}