Bläddra i källkod

link #https://gitee.com/baomidou/mybatis-plus/issues/IMMF4

聂秋秋 6 år sedan
förälder
incheckning
3ac5253e88

+ 22 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/H2UserTest.java

@@ -8,10 +8,12 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.internal.matchers.GreaterThan;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -266,4 +268,24 @@ public class H2UserTest extends BaseTest {
             Assert.assertNull(u.getPrice());
         }
     }
+    
+    @Test
+    public void testBatchTransactional(){
+        try {
+            userService.testBatchTransactional();
+        }catch (Exception e){
+            List<H2User> list = userService.list(new QueryWrapper<H2User>().like("name", "batch"));
+            Assert.assertTrue(CollectionUtils.isEmpty(list));
+        }
+    }
+    
+    @Test
+    public void testSimpleTransactional(){
+        try {
+            userService.testSimpleTransactional();
+        }catch (Exception e){
+            List<H2User> list = userService.list(new QueryWrapper<H2User>().like("name", "simple"));
+            Assert.assertTrue(CollectionUtils.isEmpty(list));
+        }
+    }
 }

+ 4 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/service/IH2UserService.java

@@ -47,4 +47,8 @@ public interface IH2UserService extends IService<H2User> {
     int selectCountWithParamInSelectItems(Map<String, Object> param);
 
     List<Map> mySelectMaps();
+    
+    void testBatchTransactional();
+    
+    void testSimpleTransactional();
 }

+ 20 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/service/impl/H2UserServiceImpl.java

@@ -15,9 +15,12 @@
  */
 package com.baomidou.mybatisplus.test.h2.service.impl;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +29,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserMapper;
 import com.baomidou.mybatisplus.test.h2.entity.persistent.H2User;
 import com.baomidou.mybatisplus.test.h2.service.IH2UserService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * <p>
@@ -88,4 +92,20 @@ public class H2UserServiceImpl extends ServiceImpl<H2UserMapper, H2User> impleme
     public List<Map> mySelectMaps() {
         return userMapper.mySelectMaps();
     }
+    
+    @Override
+    @Transactional
+    public void testBatchTransactional() {
+        saveBatch(Arrays.asList(new H2User("batch1"),new H2User("batch2"),new H2User("batch3")));
+        saveBatch(Arrays.asList(new H2User("batch4"),new H2User("batch5"),new H2User("batch6")));
+        throw new MybatisPlusException("测试批量插入事务回滚");
+    }
+    
+    @Override
+    @Transactional
+    public void testSimpleTransactional() {
+        save(new H2User("simple1"));
+        save(new H2User("simple2"));
+        throw new MybatisPlusException("测试普通插入事务回滚");
+    }
 }