Jelajahi Sumber

Merge remote-tracking branch 'origin/3.0' into 3.0

hubin 7 tahun lalu
induk
melakukan
ee0ba0d1dd

+ 3 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/base/entity/CommonData.java

@@ -3,6 +3,7 @@ package com.baomidou.mybatisplus.test.base.entity;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.test.base.enums.TestEnum;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -13,6 +14,7 @@ import java.time.LocalDateTime;
  * 1.自动填充        验证无误
  * 2.乐观锁          验证无误
  * 3.多租户          验证无误
+ * 4.枚举            验证无误
  *
  * @author meimie
  * @since 2018/6/7
@@ -29,6 +31,7 @@ public class CommonData {
     private LocalDateTime createDatetime;
     @TableField(value = "u_time", fill = FieldFill.UPDATE)
     private LocalDateTime updateDatetime;
+    private TestEnum testEnum;
 
     @Version
     private Integer version;

+ 27 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/base/enums/TestEnum.java

@@ -0,0 +1,27 @@
+package com.baomidou.mybatisplus.test.base.enums;
+
+import com.baomidou.mybatisplus.core.enums.IEnum;
+import lombok.Getter;
+
+/**
+ * @author miemie
+ * @since 2018-08-19
+ */
+@Getter
+public enum TestEnum implements IEnum<Integer> {
+    ONE(1, "一"),
+    TWO(2, "二");
+
+    private int code;
+    private String val;
+
+    TestEnum(int code, String val) {
+        this.code = code;
+        this.val = val;
+    }
+
+    @Override
+    public Integer getValue() {
+        return code;
+    }
+}

+ 4 - 2
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/MysqlTestDataMapperTest.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.test.base.entity.CommonData;
 import com.baomidou.mybatisplus.test.base.entity.CommonLogicData;
 import com.baomidou.mybatisplus.test.base.entity.mysql.MysqlData;
+import com.baomidou.mybatisplus.test.base.enums.TestEnum;
 import com.baomidou.mybatisplus.test.base.mapper.commons.CommonDataMapper;
 import com.baomidou.mybatisplus.test.base.mapper.commons.CommonLogicDataMapper;
 import com.baomidou.mybatisplus.test.base.mapper.mysql.MysqlDataMapper;
@@ -59,7 +60,8 @@ public class MysqlTestDataMapperTest {
     public void a_insertForeach() {
         for (int i = 1; i < 20; i++) {
             Long id = (long) i;
-            commonMapper.insert(new CommonData().setTestInt(i).setTestStr(String.format("第%s条数据", i)).setId(id));
+            commonMapper.insert(new CommonData().setTestInt(i).setTestStr(String.format("第%s条数据", i)).setId(id)
+                .setTestEnum(TestEnum.ONE));
             commonLogicMapper.insert(new CommonLogicData().setTestInt(i).setTestStr(String.format("第%s条数据", i)).setId(id));
             mysqlMapper.insert(new MysqlData().setOrder(i).setGroup(i).setId(id));
         }
@@ -143,7 +145,7 @@ public class MysqlTestDataMapperTest {
     @Test
     public void d2_selectById() {
         long id = 6L;
-        Assert.assertNotNull(commonMapper.selectById(id));
+        Assert.assertNotNull(commonMapper.selectById(id).getTestEnum());
         Assert.assertNotNull(commonLogicMapper.selectById(id));
         Assert.assertNotNull(mysqlMapper.selectById(id));
     }

+ 2 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/MybatisPlusConfig.java

@@ -40,6 +40,8 @@ public class MybatisPlusConfig {
         MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
         /* 数据源 */
         sqlSessionFactory.setDataSource(dataSource);
+        /* 枚举扫描 */
+        sqlSessionFactory.setTypeEnumsPackage("com.baomidou.mybatisplus.test.base.enums");
         /* entity扫描,mybatis的Alias功能 */
         MybatisConfiguration configuration = new MybatisConfiguration();
         configuration.setJdbcTypeForNull(JdbcType.NULL);

+ 4 - 2
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/postgres/PostgresTestDataMapperTest.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.test.base.entity.CommonData;
 import com.baomidou.mybatisplus.test.base.entity.CommonLogicData;
 import com.baomidou.mybatisplus.test.base.entity.pg.PgData;
+import com.baomidou.mybatisplus.test.base.enums.TestEnum;
 import com.baomidou.mybatisplus.test.base.mapper.commons.CommonDataMapper;
 import com.baomidou.mybatisplus.test.base.mapper.commons.CommonLogicDataMapper;
 import com.baomidou.mybatisplus.test.base.mapper.pg.PgDataMapper;
@@ -58,7 +59,8 @@ public class PostgresTestDataMapperTest {
     public void a_insertForeach() {
         for (int i = 1; i < 20; i++) {
             Long id = (long) i;
-            commonMapper.insert(new CommonData().setTestInt(i).setTestStr(String.format("第%s条数据", i)).setId(id));
+            commonMapper.insert(new CommonData().setTestInt(i).setTestStr(String.format("第%s条数据", i)).setId(id)
+                .setTestEnum(TestEnum.ONE));
             commonLogicMapper.insert(new CommonLogicData().setTestInt(i).setTestStr(String.format("第%s条数据", i)).setId(id));
             pgMapper.insert(new PgData().setGroup(i).setId(id).setPgInt(i).setPgInt2(i));
         }
@@ -143,7 +145,7 @@ public class PostgresTestDataMapperTest {
     @Test
     public void d2_selectById() {
         long id = 6L;
-        Assert.assertNotNull(commonMapper.selectById(id));
+        Assert.assertNotNull(commonMapper.selectById(id).getTestEnum());
         Assert.assertNotNull(commonLogicMapper.selectById(id));
         Assert.assertNotNull(pgMapper.selectById(id));
     }

+ 2 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/postgres/config/MybatisPlusConfig.java

@@ -40,6 +40,8 @@ public class MybatisPlusConfig {
         MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
         /* 数据源 */
         sqlSessionFactory.setDataSource(dataSource);
+        /* 枚举扫描 */
+        sqlSessionFactory.setTypeEnumsPackage("com.baomidou.mybatisplus.test.base.enums");
         /* entity扫描,mybatis的Alias功能 */
         MybatisConfiguration configuration = new MybatisConfiguration();
         configuration.setJdbcTypeForNull(JdbcType.NULL);

+ 1 - 0
mybatis-plus/src/test/resources/mysql/test_data.ddl.sql

@@ -8,6 +8,7 @@ CREATE TABLE common_data (
     c_time    datetime,
     u_time    datetime,
     version   integer default 0,
+    test_enum integer,
     tenant_id bigint
 )
     ENGINE = innodb

+ 1 - 0
mybatis-plus/src/test/resources/postgres/test_data.ddl.sql

@@ -8,6 +8,7 @@ CREATE TABLE public.common_data (
     c_time    timestamp,
     u_time    timestamp,
     version   integer default 0,
+    test_enum integer,
     tenant_id bigint
 );