Przeglądaj źródła

add test case for extends BaseEntity

yuxiaobin 8 lat temu
rodzic
commit
02820ecfd5
22 zmienionych plików z 915 dodań i 52 usunięć
  1. 313 0
      src/test/java/com/baomidou/mybatisplus/test/h2/H2UserExtendsTest.java
  2. 97 0
      src/test/java/com/baomidou/mybatisplus/test/h2/H2UserSequenceTest.java
  3. 63 0
      src/test/java/com/baomidou/mybatisplus/test/h2/config/MybatisPlusSequenceConfig.java
  4. 20 0
      src/test/java/com/baomidou/mybatisplus/test/h2/config/ServiceSequenceConfig.java
  5. 15 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserExtendsMapper.java
  6. 15 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceExtendsMapper.java
  7. 15 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceMapper.java
  8. 29 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/BaseIntVersionEntity.java
  9. 32 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/BaseSequenceEntity.java
  10. 41 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserIntVersionExtendTO.java
  11. 22 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserSeq.java
  12. 61 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserSequence.java
  13. 50 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserSequenceExtendTO.java
  14. 16 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserExtendsService.java
  15. 15 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserSequenceExtendsService.java
  16. 15 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserSequenceService.java
  17. 20 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserExtendsServiceImpl.java
  18. 20 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserSequenceExtendsServiceImpl.java
  19. 20 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserSequenceServiceImpl.java
  20. 18 20
      src/test/java/com/baomidou/mybatisplus/test/oracle/entity/BaseTestEntity.java
  21. 13 32
      src/test/java/com/baomidou/mybatisplus/test/oracle/entity/TestSequser.java
  22. 5 0
      src/test/java/com/baomidou/mybatisplus/test/oracle/entity/TestUser.java

+ 313 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2UserExtendsTest.java

@@ -0,0 +1,313 @@
+package com.baomidou.mybatisplus.test.h2;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+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.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
+
+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.H2UserIntVersionExtendTO;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserExtendsService;
+
+/**
+ * <p>
+ *     #328 实体继承属性测试
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {ServiceConfig.class})
+public class H2UserExtendsTest extends H2Test{
+
+    @Autowired
+    IH2UserExtendsService userService;
+
+    @BeforeClass
+    public static void init() throws SQLException, IOException {
+        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
+        context.register(ServiceConfig.class);
+        context.refresh();
+        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 testInsert(){
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setAge(1);
+        user.setPrice(new BigDecimal("9.99"));
+        userService.insert(user);
+        Assert.assertNotNull(user.getId());
+        user.setDesc("Caratacus");
+        userService.insertOrUpdate(user);
+        H2UserIntVersionExtendTO userFromDB = userService.selectById(user.getId());
+        Assert.assertEquals("Caratacus", userFromDB.getDesc());
+    }
+
+    @Test
+    public void testUpdate(){
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setAge(1);
+        user.setPrice(new BigDecimal("9.99"));
+        userService.insert(user);
+        Long id = user.getId();
+        Assert.assertNotNull(id);
+        user.setDesc("Caratacus");
+        userService.insertOrUpdate(user);
+        H2UserIntVersionExtendTO userFromDB = userService.selectById(id);
+        Assert.assertEquals("Caratacus", userFromDB.getDesc());
+
+        user = new H2UserIntVersionExtendTO();
+        user.setId(id);
+        user.setName("风神");
+        userService.updateById(user);
+        userFromDB = userService.selectById(id);
+        Assert.assertEquals("风神", userFromDB.getDesc());
+        Assert.assertEquals(new BigDecimal("9.9"), userFromDB.getPrice());
+    }
+
+
+    @Test
+    public void testDelete(){
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setAge(1);
+        user.setPrice(new BigDecimal("9.91"));
+        userService.insert(user);
+        Long userId = user.getId();
+        Assert.assertNotNull(userId);
+        Assert.assertNotNull(userService.selectById(userId));
+        userService.deleteById(userId);
+        Assert.assertNull(userService.selectById(userId));
+    }
+
+    @Test
+    public void testSelectPage() {
+        Page<H2UserIntVersionExtendTO> page = userService.selectPage(new Page<H2UserIntVersionExtendTO>(1, 3));
+        Assert.assertEquals(3, page.getRecords().size());
+    }
+
+    @Test
+    public void testUpdateByIdOptLock() {
+        Long id = 991L;
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setId(id);
+        user.setName("991");
+        user.setAge(91);
+        user.setPrice(BigDecimal.TEN);
+        user.setDesc("asdf");
+        user.setTestType(1);
+        user.setVersion(1);
+        userService.insertAllColumn(user);
+
+        H2UserIntVersionExtendTO userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+
+        userDB.setName("992");
+        userService.updateById(userDB);
+
+        userDB = userService.selectById(id);
+        Assert.assertEquals(2, userDB.getVersion().intValue());
+        Assert.assertEquals("992", userDB.getName());
+    }
+
+    @Test
+    public void testUpdateByEntityWrapperOptLock() {
+        Long id = 992L;
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setId(id);
+        user.setName("992");
+        user.setAge(92);
+        user.setPrice(BigDecimal.TEN);
+        user.setDesc("asdf");
+        user.setTestType(1);
+        user.setVersion(1);
+        userService.insertAllColumn(user);
+
+        H2UserIntVersionExtendTO userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+
+        H2UserIntVersionExtendTO updUser = new H2UserIntVersionExtendTO();
+        updUser.setName("999");
+
+        userService.update(updUser, new EntityWrapper<>(userDB));
+
+        userDB = userService.selectById(id);
+        Assert.assertEquals(2, userDB.getVersion().intValue());
+        Assert.assertEquals("999", userDB.getName());
+    }
+
+
+
+    @Test
+    public void testUpdateByEntityWrapperOptLockWithoutVersionVal() {
+        Long id = 993L;
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setId(id);
+        user.setName("992");
+        user.setAge(92);
+        user.setPrice(BigDecimal.TEN);
+        user.setDesc("asdf");
+        user.setTestType(1);
+        user.setVersion(1);
+        userService.insertAllColumn(user);
+
+        H2UserIntVersionExtendTO userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+
+        H2UserIntVersionExtendTO updUser = new H2UserIntVersionExtendTO();
+        updUser.setName("999");
+        userDB.setVersion(null);
+        userService.update(updUser, new EntityWrapper<>(userDB));
+
+        userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+        Assert.assertEquals("999", userDB.getName());
+    }
+
+    @Test
+    public void testUpdateByEntityWrapperNoEntity() {
+        Long id = 998L;
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setId(id);
+        user.setName("992");
+        user.setAge(92);
+        user.setPrice(BigDecimal.TEN);
+        user.setDesc("asdf");
+        user.setTestType(1);
+        user.setVersion(1);
+        userService.insertAllColumn(user);
+
+        H2UserIntVersionExtendTO userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+        H2UserIntVersionExtendTO updateUser = new H2UserIntVersionExtendTO();
+        updateUser.setName("998");
+        boolean result = userService.update(updateUser, new EntityWrapper<H2UserIntVersionExtendTO>());
+        Assert.assertTrue(result);
+        userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+        EntityWrapper<H2UserIntVersionExtendTO> param = new EntityWrapper<>();
+        param.eq("name", "998");
+        List<H2UserIntVersionExtendTO> userList = userService.selectList(param);
+        Assert.assertTrue(userList.size() > 1);
+    }
+
+    @Test
+    public void testUpdateByEntityWrapperNull() {
+        Long id = 918L;
+        H2UserIntVersionExtendTO user = new H2UserIntVersionExtendTO();
+        user.setId(id);
+        user.setName("992");
+        user.setAge(92);
+        user.setPrice(BigDecimal.TEN);
+        user.setDesc("asdf");
+        user.setTestType(1);
+        user.setVersion(1);
+        userService.insertAllColumn(user);
+
+        H2UserIntVersionExtendTO userDB = userService.selectById(id);
+        Assert.assertEquals(1, userDB.getVersion().intValue());
+        H2UserIntVersionExtendTO updateUser = new H2UserIntVersionExtendTO();
+        updateUser.setName("918");
+        updateUser.setVersion(1);
+        Assert.assertTrue(userService.update(updateUser, null));
+        EntityWrapper<H2UserIntVersionExtendTO> ew = new EntityWrapper<>();
+        int count1 = userService.selectCount(ew);
+        ew.eq("name", "918").eq("version", 1);
+        int count2 = userService.selectCount(ew);
+        List<H2UserIntVersionExtendTO> userList = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        for (H2UserIntVersionExtendTO u : userList) {
+            System.out.println(u);
+        }
+        System.out.println("count1=" + count1 + ", count2=" + count2);
+        Assert.assertTrue(count2 > 0);
+        Assert.assertEquals(count1, count2);
+    }
+
+    @Test
+    public void testUpdateBatch() {
+        List<H2UserIntVersionExtendTO> list = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        Map<Long, Integer> userVersionMap = new HashMap<>();
+        for (H2UserIntVersionExtendTO u : list) {
+            userVersionMap.put(u.getId(), u.getVersion());
+        }
+
+        Assert.assertTrue(userService.updateBatchById(list));
+        list = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        for (H2UserIntVersionExtendTO user : list) {
+            Assert.assertEquals(userVersionMap.get(user.getId()) + 1, user.getVersion().intValue());
+        }
+
+    }
+
+    @Test
+    public void testUpdateInLoop() {
+        List<H2UserIntVersionExtendTO> list = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        Map<Long, Integer> versionBefore = new HashMap<>();
+        Map<Long, String> nameExpect = new HashMap<>();
+        for (H2UserIntVersionExtendTO h2User : list) {
+            Long id = h2User.getId();
+            Integer versionVal = h2User.getVersion();
+            versionBefore.put(id, versionVal);
+            String randomName = h2User.getName() + "_" + new Random().nextInt(10);
+            nameExpect.put(id, randomName);
+            h2User.setName(randomName);
+            userService.updateById(h2User);
+        }
+
+        list = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        for (H2UserIntVersionExtendTO u : list) {
+            Assert.assertEquals(u.getName(), nameExpect.get(u.getId()));
+            if (u.getVersion() != null)
+                Assert.assertEquals(versionBefore.get(u.getId()) + 1, u.getVersion().intValue());
+        }
+    }
+
+    @Test
+    public void testUpdateAllColumnInLoop() {
+        List<H2UserIntVersionExtendTO> list = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        Map<Long, Integer> versionBefore = new HashMap<>();
+        Map<Long, String> nameExpect = new HashMap<>();
+        for (H2UserIntVersionExtendTO h2User : list) {
+            Long id = h2User.getId();
+            Integer versionVal = h2User.getVersion();
+            versionBefore.put(id, versionVal);
+            String randomName = h2User.getName() + "_" + new Random().nextInt(10);
+            nameExpect.put(id, randomName);
+            h2User.setName(randomName);
+            userService.updateAllColumnById(h2User);
+        }
+
+        list = userService.selectList(new EntityWrapper<H2UserIntVersionExtendTO>());
+        for (H2UserIntVersionExtendTO u : list) {
+            Assert.assertEquals(u.getName(), nameExpect.get(u.getId()));
+            Assert.assertEquals(versionBefore.get(u.getId()) + 1, u.getVersion().intValue());
+        }
+    }
+}

+ 97 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2UserSequenceTest.java

@@ -0,0 +1,97 @@
+package com.baomidou.mybatisplus.test.h2;
+
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.List;
+
+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.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.test.h2.config.ServiceConfig;
+import com.baomidou.mybatisplus.test.h2.config.ServiceSequenceConfig;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequence;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserSequenceService;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {ServiceSequenceConfig.class})
+public class H2UserSequenceTest extends H2Test{
+
+    @Autowired
+    IH2UserSequenceService userService;
+
+    @BeforeClass
+    public static void init() throws SQLException, IOException {
+        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
+        context.register(ServiceConfig.class);
+        context.refresh();
+        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");
+            stmt.execute("CREATE SEQUENCE SEQ_TEST");
+            conn.commit();
+        }
+    }
+
+
+    @Test
+    public void testInsert(){
+        List<H2UserSequence> list = userService.selectList(new EntityWrapper<H2UserSequence>());
+        for(H2UserSequence u:list){
+            System.out.println(u);
+        }
+        H2UserSequence user = new H2UserSequence();
+        user.setAge(1);
+        user.setPrice(new BigDecimal("9.99"));
+        userService.insert(user);
+
+        list = userService.selectList(new EntityWrapper<H2UserSequence>());
+        for(H2UserSequence u:list){
+            System.out.println(u);
+        }
+
+        Assert.assertNotNull(user.getId());
+        user.setDesc("Caratacus");
+        userService.insertOrUpdate(user);
+        H2UserSequence userFromDB = userService.selectById(user.getId());
+        Assert.assertEquals("Caratacus", userFromDB.getDesc());
+    }
+
+    @Test
+    public void testInsertBatch(){
+        List<H2UserSequence> list= new ArrayList<>();
+        for(int i=0;i<5;++i) {
+            list.add(new H2UserSequence("name"+i, 1));
+        }
+        userService.insertBatch(list);
+        for(H2UserSequence u:list){
+            System.out.println("id="+u.getId());
+            Assert.assertNotNull(u.getId());
+        }
+
+    }
+
+}

+ 63 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/config/MybatisPlusSequenceConfig.java

@@ -0,0 +1,63 @@
+package com.baomidou.mybatisplus.test.h2.config;
+
+import javax.sql.DataSource;
+
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.ResourceLoader;
+
+import com.baomidou.mybatisplus.MybatisConfiguration;
+import com.baomidou.mybatisplus.MybatisXMLLanguageDriver;
+import com.baomidou.mybatisplus.entity.GlobalConfiguration;
+import com.baomidou.mybatisplus.incrementer.H2KeyGenerator;
+import com.baomidou.mybatisplus.plugins.OptimisticLockerInterceptor;
+import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.plugins.PerformanceInterceptor;
+import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean;
+
+/**
+ * <p>
+ * H2 Sequence
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Configuration
+@MapperScan("com.baomidou.mybatisplus.test.h2.entity.mapper")
+public class MybatisPlusSequenceConfig {
+
+    @Bean("mybatisSqlSession")
+    public SqlSessionFactory sqlSessionFactory(DataSource dataSource, ResourceLoader resourceLoader, GlobalConfiguration globalConfiguration) throws Exception {
+        MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
+        sqlSessionFactory.setDataSource(dataSource);
+//        sqlSessionFactory.setConfigLocation(resourceLoader.getResource("classpath:mybatis-config.xml"));
+        sqlSessionFactory.setTypeAliasesPackage("com.baomidou.mybatisplus.test.h2.entity.persistent");
+        MybatisConfiguration configuration = new MybatisConfiguration();
+        configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
+        configuration.setJdbcTypeForNull(JdbcType.NULL);
+        sqlSessionFactory.setConfiguration(configuration);
+        PaginationInterceptor pagination = new PaginationInterceptor();
+        OptimisticLockerInterceptor optLock = new OptimisticLockerInterceptor();
+        sqlSessionFactory.setPlugins(new Interceptor[]{
+                pagination,
+                optLock,
+                new PerformanceInterceptor()
+        });
+        sqlSessionFactory.setGlobalConfig(globalConfiguration);
+        return sqlSessionFactory.getObject();
+    }
+
+    @Bean
+    public GlobalConfiguration globalConfiguration() {
+        GlobalConfiguration conf = new GlobalConfiguration();
+        conf.setIdType(2);
+//        conf.setDbType("h2");
+        conf.setKeyGenerator(new H2KeyGenerator());
+        return conf;
+    }
+}

+ 20 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/config/ServiceSequenceConfig.java

@@ -0,0 +1,20 @@
+package com.baomidou.mybatisplus.test.h2.config;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+/**
+ * <p>
+ * H2 Sequence test config
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Configuration
+@Import(value = {DBConfig.class, MybatisPlusSequenceConfig.class})
+@ComponentScan("com.baomidou.mybatisplus.test.h2.service")
+public class ServiceSequenceConfig {
+
+}

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserExtendsMapper.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.H2UserIntVersionExtendTO;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+public interface H2UserExtendsMapper extends BaseMapper<H2UserIntVersionExtendTO> {
+
+}

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceExtendsMapper.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.H2UserSequenceExtendTO;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+public interface H2UserSequenceExtendsMapper extends BaseMapper<H2UserSequenceExtendTO> {
+
+}

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceMapper.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.H2UserSequence;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+public interface H2UserSequenceMapper extends BaseMapper<H2UserSequence> {
+
+}

+ 29 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/BaseIntVersionEntity.java

@@ -0,0 +1,29 @@
+package com.baomidou.mybatisplus.test.h2.entity.persistent;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.Version;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * Base Entity
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Data
+@Accessors(chain = true)
+public abstract class BaseIntVersionEntity implements Serializable {
+
+    /* 主键ID 注解,value 字段名,type 用户输入ID */
+    @TableId(value = "test_id")
+    private Long id;
+
+    @Version
+    private Integer version;
+}

+ 32 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/BaseSequenceEntity.java

@@ -0,0 +1,32 @@
+package com.baomidou.mybatisplus.test.h2.entity.persistent;
+
+import com.baomidou.mybatisplus.annotations.KeySequence;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.enums.IdType;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Data
+@Accessors(chain = true)
+@KeySequence("SEQ_TEST")
+public abstract class BaseSequenceEntity {
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "TEST_ID", type = IdType.INPUT)
+    private Long id;
+
+}

+ 41 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserIntVersionExtendTO.java

@@ -0,0 +1,41 @@
+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.enums.FieldStrategy;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Data
+@Accessors(chain = true)
+@TableName("h2user")
+public class H2UserIntVersionExtendTO extends BaseIntVersionEntity {
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+    /* 测试忽略验证 */
+    private String name;
+
+    private Integer age;
+
+    /*BigDecimal 测试*/
+    private BigDecimal price;
+
+    /* 测试下划线字段命名类型, 字段填充 */
+    @TableField(value = "test_type", strategy = FieldStrategy.IGNORED)
+    private Integer testType;
+
+    private String desc;
+
+}

+ 22 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserSeq.java

@@ -0,0 +1,22 @@
+package com.baomidou.mybatisplus.test.h2.entity.persistent;
+
+import com.baomidou.mybatisplus.annotations.KeySequence;
+import com.baomidou.mybatisplus.annotations.TableName;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Data
+@Accessors(chain = true)
+@TableName("h2user")
+@KeySequence("SEQ_TEST")
+public class H2UserSeq {
+
+}

+ 61 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserSequence.java

@@ -0,0 +1,61 @@
+package com.baomidou.mybatisplus.test.h2.entity.persistent;
+
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotations.KeySequence;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.annotations.Version;
+import com.baomidou.mybatisplus.enums.FieldStrategy;
+import com.baomidou.mybatisplus.enums.IdType;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Data
+@Accessors(chain = true)
+@TableName("h2user")
+@KeySequence("SEQ_TEST")
+public class H2UserSequence {
+
+
+    public H2UserSequence() {
+    }
+
+    public H2UserSequence(String name, Integer version) {
+        this.name = name;
+        this.version = version;
+    }
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "TEST_ID", type = IdType.INPUT)
+    private Long id;
+
+    private String name;
+
+    private Integer age;
+
+    /*BigDecimal 测试*/
+    private BigDecimal price;
+
+    /* 测试下划线字段命名类型, 字段填充 */
+    @TableField(value = "test_type", strategy = FieldStrategy.IGNORED)
+    private Integer testType;
+
+    private String desc;
+
+    @Version
+    private Integer version;
+
+
+}

+ 50 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserSequenceExtendTO.java

@@ -0,0 +1,50 @@
+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.FieldStrategy;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Data
+@Accessors(chain = true)
+@TableName("h2user")
+public class H2UserSequenceExtendTO extends BaseSequenceEntity {
+
+    public H2UserSequenceExtendTO() {
+    }
+
+    public H2UserSequenceExtendTO(String name, Integer version) {
+        this.name = name;
+        this.version = version;
+    }
+
+    /* 测试忽略验证 */
+    private String name;
+
+    private Integer age;
+
+    /*BigDecimal 测试*/
+    private BigDecimal price;
+
+    /* 测试下划线字段命名类型, 字段填充 */
+    @TableField(value = "test_type", strategy = FieldStrategy.IGNORED)
+    private Integer testType;
+
+    private String desc;
+
+    @Version
+    private Integer version;
+
+}

+ 16 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserExtendsService.java

@@ -0,0 +1,16 @@
+package com.baomidou.mybatisplus.test.h2.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserIntVersionExtendTO;
+
+/**
+ * <p>
+ * 实体继承id,version
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+public interface IH2UserExtendsService extends IService<H2UserIntVersionExtendTO> {
+
+}

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserSequenceExtendsService.java

@@ -0,0 +1,15 @@
+package com.baomidou.mybatisplus.test.h2.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequenceExtendTO;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+public interface IH2UserSequenceExtendsService extends IService<H2UserSequenceExtendTO> {
+
+}

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserSequenceService.java

@@ -0,0 +1,15 @@
+package com.baomidou.mybatisplus.test.h2.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequence;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+public interface IH2UserSequenceService extends IService<H2UserSequence> {
+
+}

+ 20 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserExtendsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.baomidou.mybatisplus.test.h2.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserExtendsMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserIntVersionExtendTO;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserExtendsService;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Service
+public class H2UserExtendsServiceImpl extends ServiceImpl<H2UserExtendsMapper, H2UserIntVersionExtendTO> implements IH2UserExtendsService {
+
+}

+ 20 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserSequenceExtendsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.baomidou.mybatisplus.test.h2.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserSequenceExtendsMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequenceExtendTO;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserSequenceExtendsService;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Service
+public class H2UserSequenceExtendsServiceImpl extends ServiceImpl<H2UserSequenceExtendsMapper, H2UserSequenceExtendTO> implements IH2UserSequenceExtendsService {
+
+}

+ 20 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserSequenceServiceImpl.java

@@ -0,0 +1,20 @@
+package com.baomidou.mybatisplus.test.h2.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserSequenceMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequence;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserSequenceService;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/26
+ */
+@Service
+public class H2UserSequenceServiceImpl extends ServiceImpl<H2UserSequenceMapper,H2UserSequence> implements IH2UserSequenceService {
+
+}

+ 18 - 20
src/test/java/com/baomidou/mybatisplus/test/oracle/entity/BaseTestEntity.java

@@ -4,8 +4,6 @@ import java.io.Serializable;
 
 import com.baomidou.mybatisplus.annotations.KeySequence;
 import com.baomidou.mybatisplus.annotations.TableField;
-import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.enums.IdType;
 
 /**
  * 用户表
@@ -16,23 +14,23 @@ public class BaseTestEntity implements Serializable {
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 
-    /**
-     * 主键ID
-     */
-    @TableId(value = "TEST_ID", type = IdType.INPUT)
-    private Long id;
-
-    public BaseTestEntity() {
-
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
+//    /**
+//     * 主键ID
+//     */
+//    @TableId(value = "TEST_ID", type = IdType.INPUT)
+//    private Long id;
+
+//    public BaseTestEntity() {
+//
+//    }
+//
+//
+//    public Long getId() {
+//        return id;
+//    }
+//
+//    public void setId(Long id) {
+//        this.id = id;
+//    }
 
 }

+ 13 - 32
src/test/java/com/baomidou/mybatisplus/test/oracle/entity/TestSequser.java

@@ -3,11 +3,18 @@ package com.baomidou.mybatisplus.test.oracle.entity;
 import java.io.Serializable;
 
 import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
 
 /**
  * 用户表
  */
+@Data
+@Accessors(chain = true)
 @TableName("TEST_SEQUSER")
 //@KeySequence("SEQ_TEST")
 public class TestSequser extends BaseTestEntity implements Serializable {
@@ -15,12 +22,18 @@ public class TestSequser extends BaseTestEntity implements Serializable {
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 主键ID
+     */
+    @TableId(value = "TEST_ID", type = IdType.INPUT)
+    private Long id;
     /**
      * 主键ID
      */
     // @TableId(value = "ID")
     // private Long id;
 
+
     /**
      * 名称
      */
@@ -57,36 +70,4 @@ public class TestSequser extends BaseTestEntity implements Serializable {
     //	this.id = id;
     //}
 
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public Integer getAge() {
-        return age;
-    }
-
-    public void setAge(Integer age) {
-        this.age = age;
-    }
-
-    public Integer getTestType() {
-        return testType;
-    }
-
-    public void setTestType(Integer testType) {
-        this.testType = testType;
-    }
-
-    @Override
-    public String toString() {
-        return "TestSequser{" +
-                "name='" + name + '\'' +
-                ", age=" + age +
-                ", testType=" + testType +
-                '}';
-    }
 }

+ 5 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/entity/TestUser.java

@@ -7,9 +7,14 @@ import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
 
+import lombok.Data;
+import lombok.experimental.Accessors;
+
 /**
  * 用户表
  */
+@Data
+@Accessors(chain = true)
 @TableName("TEST_USER")
 public class TestUser implements Serializable {