소스 검색

#331 自定义 Insert not found et

增加自定义insert和更新的test case
yuxiaobin 8 년 전
부모
커밋
c5424c1412
19개의 변경된 파일316개의 추가작업 그리고 5개의 파일을 삭제
  1. 1 1
      src/main/java/com/baomidou/mybatisplus/incrementer/H2KeyGenerator.java
  2. 5 3
      src/main/java/com/baomidou/mybatisplus/plugins/OptimisticLockerInterceptor.java
  3. 29 0
      src/test/java/com/baomidou/mybatisplus/test/h2/H2MetaObjectHandlerTest.java
  4. 33 0
      src/test/java/com/baomidou/mybatisplus/test/h2/H2UserAutoincrementTest.java
  5. 30 0
      src/test/java/com/baomidou/mybatisplus/test/h2/H2UserNoOptLockTest.java
  6. 34 1
      src/test/java/com/baomidou/mybatisplus/test/h2/H2UserNoVersionTest.java
  7. 30 0
      src/test/java/com/baomidou/mybatisplus/test/h2/H2UserTest.java
  8. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserDateVersionMapper.java
  9. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserExtendsMapper.java
  10. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserLogicDeleteMapper.java
  11. 12 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserMapper.java
  12. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserMetaobjMapper.java
  13. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserNoVersionMapper.java
  14. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceExtendsMapper.java
  15. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceMapper.java
  16. 15 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserMetaobjService.java
  17. 3 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserService.java
  18. 20 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserMetaobjServiceImpl.java
  19. 13 0
      src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserServiceImpl.java

+ 1 - 1
src/main/java/com/baomidou/mybatisplus/incrementer/H2KeyGenerator.java

@@ -15,7 +15,7 @@ public class H2KeyGenerator implements IKeyGenerator {
         StringBuilder sql = new StringBuilder();
         sql.append("select ");
         sql.append(incrementerName);
-        sql.append(".nextval from dual");
+        sql.append(".nextval");
         return sql.toString();
     }
 }

+ 5 - 3
src/main/java/com/baomidou/mybatisplus/plugins/OptimisticLockerInterceptor.java

@@ -81,8 +81,10 @@ public class OptimisticLockerInterceptor implements Interceptor {
             //if(!map.containsKey(NAME_ENTITY)) {
             //    return invocation.proceed();
             //}
-
-            Object et = map.get(NAME_ENTITY);
+            Object et = null;
+            if(map.containsKey(NAME_ENTITY)){
+                et = map.get(NAME_ENTITY);
+            }
             if (ew != null) {
                 Object entity = ew.getEntity();
                 if (entity != null) {
@@ -95,7 +97,7 @@ public class OptimisticLockerInterceptor implements Interceptor {
                         }
                     }
                 }
-            } else {
+            } else if(et!=null) {
                 String methodId = ms.getId();
                 String updateMethodName = methodId.substring(ms.getId().lastIndexOf(".") + 1);
                 if (PARAM_UPDATE_METHOD_NAME.equals(updateMethodName)) {//update(entity, null) -->> update all. ignore version

+ 29 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2MetaObjectHandlerTest.java

@@ -83,4 +83,33 @@ public class H2MetaObjectHandlerTest extends H2Test {
         Assert.assertEquals(sdf.format(new Date()), versionDateStr);
     }
 
+
+    @Test
+    public void testInsertMy(){
+        String name="QiPa";
+        int version =1;
+        int row = userMapper.myInsertWithNameVersion(name, version);
+        Assert.assertEquals(1, row);
+    }
+
+    @Test
+    public void testUpdateMy(){
+        H2UserMetaObj user = new H2UserMetaObj();
+        user.setName("myUpdate");
+        user.setVersion(1);
+        userMapper.insert(user);
+        Long id =user.getId();
+        H2UserMetaObj dbUser = userMapper.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("myUpdate", dbUser.getName());
+
+        Assert.assertEquals(1, userMapper.myUpdateWithNameId(id, "updateMy"));
+
+        dbUser = userMapper.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("updateMy", dbUser.getName());
+        Assert.assertEquals(1, user.getVersion().intValue());
+
+    }
+
 }

+ 33 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2UserAutoincrementTest.java

@@ -20,6 +20,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserMetaobjMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserMetaObj;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserMetaobjService;
 
 /**
  * <p>
@@ -36,6 +37,9 @@ public class H2UserAutoincrementTest extends H2Test {
     @Autowired
     private H2UserMetaobjMapper userMapper;
 
+    @Autowired
+    IH2UserMetaobjService userService;
+
     @BeforeClass
     public static void initDB() throws SQLException, IOException {
         @SuppressWarnings("resource")
@@ -71,4 +75,33 @@ public class H2UserAutoincrementTest extends H2Test {
         Assert.assertEquals(id1.intValue() + 1, userId2.intValue());
     }
 
+
+    @Test
+    public void testInsertMy(){
+        String name="QiPa";
+        int version =1;
+        int row = userMapper.myInsertWithNameVersion(name, version);
+        Assert.assertEquals(1, row);
+    }
+
+    @Test
+    public void testUpdateMy(){
+        H2UserMetaObj user = new H2UserMetaObj();
+        user.setName("myUpdate");
+        user.setVersion(1);
+        userMapper.insert(user);
+        Long id =user.getId();
+        H2UserMetaObj dbUser = userMapper.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("myUpdate", dbUser.getName());
+
+        Assert.assertEquals(1, userMapper.myUpdateWithNameId(id, "updateMy"));
+
+        dbUser = userMapper.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("updateMy", dbUser.getName());
+        Assert.assertEquals(1, user.getVersion().intValue());
+
+    }
+
 }

+ 30 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2UserNoOptLockTest.java

@@ -279,4 +279,34 @@ public class H2UserNoOptLockTest extends H2Test {
         }
     }
 
+
+    @Test
+    public void testInsertMy(){
+        String name="QiPa";
+        int version =1;
+        int row = userService.myInsert(name, version);
+        Assert.assertEquals(1, row);
+    }
+
+    @Test
+    public void testUpdateMy(){
+        Long id = 10087L;
+        H2User user = new H2User();
+        user.setId(id);
+        user.setName("myUpdate");
+        user.setVersion(1);
+        userService.insert(user);
+
+        H2User dbUser = userService.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("myUpdate", dbUser.getName());
+
+        Assert.assertEquals(1,userService.myUpdate(id, "updateMy"));
+
+        dbUser = userService.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("updateMy", dbUser.getName());
+        Assert.assertEquals(1, user.getVersion().intValue());
+
+    }
 }

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

@@ -23,6 +23,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserNoVersionMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserNoVersion;
 import com.baomidou.mybatisplus.test.h2.service.IH2UserNoVersionService;
 
@@ -39,7 +40,10 @@ import com.baomidou.mybatisplus.test.h2.service.IH2UserNoVersionService;
 public class H2UserNoVersionTest extends H2Test {
 
     @Autowired
-    private IH2UserNoVersionService userService;
+    IH2UserNoVersionService userService;
+
+    @Autowired
+    H2UserNoVersionMapper userMapper;
 
     @BeforeClass
     public static void initDB() throws SQLException, IOException {
@@ -203,4 +207,33 @@ public class H2UserNoVersionTest extends H2Test {
     }
 
 
+    @Test
+    public void testInsertMy(){
+        String name="QiPa";
+        int version =1;
+        int row = userMapper.myInsertWithNameVersion(name, version);
+        Assert.assertEquals(1, row);
+    }
+
+    @Test
+    public void testUpdateMy(){
+        Long id = 10087L;
+        H2UserNoVersion user = new H2UserNoVersion();
+        user.setId(id);
+        user.setName("myUpdate");
+        user.setVersion(1);
+        userService.insert(user);
+
+        H2UserNoVersion dbUser = userService.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("myUpdate", dbUser.getName());
+
+        Assert.assertEquals(1, userMapper.myUpdateWithNameId(id, "updateMy"));
+
+        dbUser = userService.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("updateMy", dbUser.getName());
+        Assert.assertEquals(1, user.getVersion().intValue());
+
+    }
 }

+ 30 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2UserTest.java

@@ -354,4 +354,34 @@ public class H2UserTest extends H2Test {
         }
     }
 
+    @Test
+    public void testInsertMy(){
+        String name="QiPa";
+        int version =1;
+        int row = userService.myInsert(name, version);
+        Assert.assertEquals(1, row);
+    }
+
+    @Test
+    public void testUpdateMy(){
+        Long id = 10087L;
+        H2User user = new H2User();
+        user.setId(id);
+        user.setName("myUpdate");
+        user.setVersion(1);
+        userService.insert(user);
+
+        H2User dbUser = userService.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("myUpdate", dbUser.getName());
+
+        Assert.assertEquals(1,userService.myUpdate(id, "updateMy"));
+
+        dbUser = userService.selectById(id);
+        Assert.assertNotNull(dbUser);
+        Assert.assertEquals("updateMy", dbUser.getName());
+        Assert.assertEquals(1, user.getVersion().intValue());
+
+    }
+
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserDateVersionMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserDateVersion;
 
@@ -13,4 +17,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserDateVersion;
  */
 public interface H2UserDateVersionMapper extends BaseMapper<H2UserDateVersion> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserExtendsMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserIntVersionExtendTO;
 
@@ -12,4 +16,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserIntVersionExtend
  */
 public interface H2UserExtendsMapper extends BaseMapper<H2UserIntVersionExtendTO> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserLogicDeleteMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserLogicDelete;
 
@@ -13,4 +17,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserLogicDelete;
  */
 public interface H2UserLogicDeleteMapper extends BaseMapper<H2UserLogicDelete> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 12 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserMapper.java

@@ -2,8 +2,10 @@ package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.plugins.Page;
@@ -31,4 +33,14 @@ public interface H2UserMapper extends BaseMapper<H2User> {
     )
     List<H2Addr> getAddrListByUserId(@Param("userId") Long userId, Page<H2Addr> page);
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
+
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserMetaobjMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserMetaObj;
 
@@ -12,4 +16,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserMetaObj;
  */
 public interface H2UserMetaobjMapper extends BaseMapper<H2UserMetaObj> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserNoVersionMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserNoVersion;
 
@@ -13,4 +17,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserNoVersion;
  */
 public interface H2UserNoVersionMapper extends BaseMapper<H2UserNoVersion> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceExtendsMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequenceExtendTO;
 
@@ -12,4 +16,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequenceExtendTO
  */
 public interface H2UserSequenceExtendsMapper extends BaseMapper<H2UserSequenceExtendTO> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2UserSequenceMapper.java

@@ -1,5 +1,9 @@
 package com.baomidou.mybatisplus.test.h2.entity.mapper;
 
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequence;
 
@@ -12,4 +16,13 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserSequence;
  */
 public interface H2UserSequenceMapper extends BaseMapper<H2UserSequence> {
 
+    @Insert(
+            "insert into h2user(name,version) values(#{name},#{version})"
+    )
+    public int myInsertWithNameVersion(@Param("name") String name, @Param("version") int version);
+
+    @Update(
+            "update h2user set name=#{name} where test_id=#{id}"
+    )
+    public int myUpdateWithNameId(@Param("id") Long id, @Param("name") String name);
 }

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserMetaobjService.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.H2UserMetaObj;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/27
+ */
+public interface IH2UserMetaobjService extends IService<H2UserMetaObj>{
+
+}

+ 3 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserService.java

@@ -28,4 +28,7 @@ import com.baomidou.mybatisplus.test.h2.entity.persistent.H2User;
  */
 public interface IH2UserService extends IService<H2User> {
 
+    public int myInsert(String name, int version);
+
+    public int myUpdate(Long id, String name);
 }

+ 20 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserMetaobjServiceImpl.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.H2UserMetaobjMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2UserMetaObj;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserMetaobjService;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/27
+ */
+@Service
+public class H2UserMetaobjServiceImpl extends ServiceImpl<H2UserMetaobjMapper, H2UserMetaObj> implements IH2UserMetaobjService {
+
+}

+ 13 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserServiceImpl.java

@@ -15,6 +15,7 @@
  */
 package com.baomidou.mybatisplus.test.h2.service.impl;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -33,4 +34,16 @@ import com.baomidou.mybatisplus.test.h2.service.IH2UserService;
 @Service
 public class H2UserServiceImpl extends ServiceImpl<H2UserMapper, H2User> implements IH2UserService {
 
+    @Autowired
+    H2UserMapper userMapper;
+
+    @Override
+    public int myInsert(String name, int version) {
+        return userMapper.myInsertWithNameVersion(name, version);
+    }
+
+    @Override
+    public int myUpdate(Long id, String name) {
+        return userMapper.myUpdateWithNameId(id, name);
+    }
 }