|
@@ -1,14 +1,11 @@
|
|
package com.baomidou.mybatisplus.test.h2;
|
|
package com.baomidou.mybatisplus.test.h2;
|
|
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
-import java.math.BigDecimal;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.Connection;
|
|
import java.sql.SQLException;
|
|
import java.sql.SQLException;
|
|
-import java.util.ArrayList;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
-import java.util.Random;
|
|
|
|
|
|
|
|
import javax.sql.DataSource;
|
|
import javax.sql.DataSource;
|
|
|
|
|
|
@@ -24,7 +21,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
|
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
-import com.baomidou.mybatisplus.test.h2.base.H2Test;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.test.h2.base.AbstractH2UserTest;
|
|
import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserMapper;
|
|
import com.baomidou.mybatisplus.test.h2.entity.mapper.H2UserMapper;
|
|
import com.baomidou.mybatisplus.test.h2.entity.persistent.H2User;
|
|
import com.baomidou.mybatisplus.test.h2.entity.persistent.H2User;
|
|
import com.baomidou.mybatisplus.test.h2.service.IH2UserService;
|
|
import com.baomidou.mybatisplus.test.h2.service.IH2UserService;
|
|
@@ -39,7 +36,7 @@ import com.baomidou.mybatisplus.test.h2.service.IH2UserService;
|
|
*/
|
|
*/
|
|
@RunWith(SpringJUnit4ClassRunner.class)
|
|
@RunWith(SpringJUnit4ClassRunner.class)
|
|
@ContextConfiguration(locations = {"classpath:h2/spring-test-h2-mvc.xml"})
|
|
@ContextConfiguration(locations = {"classpath:h2/spring-test-h2-mvc.xml"})
|
|
-public class H2MvcCaseTest extends H2Test {
|
|
|
|
|
|
+public class H2MvcCaseTest extends AbstractH2UserTest {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private IH2UserService userService;
|
|
private IH2UserService userService;
|
|
@@ -59,65 +56,27 @@ public class H2MvcCaseTest extends H2Test {
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testInsert() {
|
|
public void testInsert() {
|
|
- H2User user = new H2User();
|
|
|
|
- user.setAge(1);
|
|
|
|
- user.setPrice(new BigDecimal("9.99"));
|
|
|
|
- userService.insert(user);
|
|
|
|
- Assert.assertNotNull(user.getId());
|
|
|
|
- user.setDesc("Caratacus");
|
|
|
|
- userService.insertOrUpdate(user);
|
|
|
|
- H2User userFromDB = userService.selectById(user.getId());
|
|
|
|
- Assert.assertEquals("Caratacus", userFromDB.getDesc());
|
|
|
|
|
|
+ insertSimpleCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testInsertBatch() {
|
|
public void testInsertBatch() {
|
|
- userService.insert(new H2User("sanmao", 1));
|
|
|
|
- List<H2User> h2Users = new ArrayList<>();
|
|
|
|
- for (int i = 0; i < 10; i++) {
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- user.setAge(1);
|
|
|
|
- user.setPrice(new BigDecimal("6" + i));
|
|
|
|
- user.setDesc("testBatch" + i);
|
|
|
|
- h2Users.add(user);
|
|
|
|
- }
|
|
|
|
- Assert.assertTrue(userService.insertBatch(h2Users));
|
|
|
|
|
|
+ insertBatchSimpleCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testDelete() {
|
|
public void testDelete() {
|
|
- H2User user = new H2User();
|
|
|
|
- user.setAge(1);
|
|
|
|
- user.setPrice(new BigDecimal("9.99"));
|
|
|
|
- userService.insert(user);
|
|
|
|
- Long userId = user.getId();
|
|
|
|
- Assert.assertNotNull(userId);
|
|
|
|
- userService.deleteById(userId);
|
|
|
|
- Assert.assertNull(userService.selectById(userId));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Test
|
|
|
|
- public void testSelectByid() {
|
|
|
|
- Long userId = 101L;
|
|
|
|
- Assert.assertNotNull(userService.selectById(userId));
|
|
|
|
|
|
+ deleteSimpleCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testSelectOne() {
|
|
public void testSelectOne() {
|
|
- H2User user = new H2User();
|
|
|
|
- user.setId(105L);
|
|
|
|
- EntityWrapper<H2User> ew = new EntityWrapper<>(user);
|
|
|
|
- H2User userFromDB = userService.selectOne(ew);
|
|
|
|
- Assert.assertNotNull(userFromDB);
|
|
|
|
|
|
+ selectOneSimpleCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testSelectList() {
|
|
public void testSelectList() {
|
|
- H2User user = new H2User();
|
|
|
|
- EntityWrapper<H2User> ew = new EntityWrapper<>(user);
|
|
|
|
- List<H2User> list = userService.selectList(ew);
|
|
|
|
- Assert.assertNotNull(list);
|
|
|
|
- Assert.assertNotEquals(0, list.size());
|
|
|
|
|
|
+ selectListSimpleCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
@@ -128,229 +87,47 @@ public class H2MvcCaseTest extends H2Test {
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateByIdOptLock() {
|
|
public void testUpdateByIdOptLock() {
|
|
- Long id = 991L;
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- H2User userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
-
|
|
|
|
- userDB.setName("991");
|
|
|
|
- userService.updateById(userDB);
|
|
|
|
-
|
|
|
|
- userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(2, userDB.getVersion().intValue());
|
|
|
|
- Assert.assertEquals("991", userDB.getName());
|
|
|
|
|
|
+ updateByIdWithOptLock();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateAllColumnByIdOptLock() {
|
|
public void testUpdateAllColumnByIdOptLock() {
|
|
- Long id = 997L;
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- H2User userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
-
|
|
|
|
- userDB.setName("991");
|
|
|
|
- userService.updateAllColumnById(userDB);
|
|
|
|
-
|
|
|
|
- userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(2, userDB.getVersion().intValue());
|
|
|
|
- Assert.assertEquals("991", userDB.getName());
|
|
|
|
-
|
|
|
|
- userDB.setName("990");
|
|
|
|
- userService.updateById(userDB);
|
|
|
|
-
|
|
|
|
- userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(3, userDB.getVersion().intValue());
|
|
|
|
- Assert.assertEquals("990", userDB.getName());
|
|
|
|
|
|
+ updateAllColumnByIdCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateByEntityWrapperOptLock() {
|
|
public void testUpdateByEntityWrapperOptLock() {
|
|
- Long id = 1992L;
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- H2User userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
-
|
|
|
|
- H2User updUser = new H2User();
|
|
|
|
- updUser.setName("999");
|
|
|
|
-
|
|
|
|
- userService.update(updUser, new EntityWrapper<>(userDB));
|
|
|
|
-
|
|
|
|
- userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(2, userDB.getVersion().intValue());
|
|
|
|
- Assert.assertEquals("999", userDB.getName());
|
|
|
|
|
|
+ updateByEntityWrapperOptLock();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateByEntityWrapperOptLockWithoutVersionVal() {
|
|
public void testUpdateByEntityWrapperOptLockWithoutVersionVal() {
|
|
- Long id = 993L;
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- H2User userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
-
|
|
|
|
- H2User updUser = new H2User();
|
|
|
|
- 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());
|
|
|
|
|
|
+ updateByEntityWrapperOptLockWithoutVersionVal();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateByEntityWrapperNoEntity() {
|
|
public void testUpdateByEntityWrapperNoEntity() {
|
|
- Long id = 998L;
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- H2User userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
- H2User updateUser = new H2User();
|
|
|
|
- updateUser.setName("998");
|
|
|
|
- boolean result = userService.update(updateUser, new EntityWrapper<H2User>());
|
|
|
|
- Assert.assertTrue(result);
|
|
|
|
- userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
- EntityWrapper<H2User> param = new EntityWrapper<>();
|
|
|
|
- param.eq("name", "998");
|
|
|
|
- List<H2User> userList = userService.selectList(param);
|
|
|
|
- Assert.assertTrue(userList.size() > 1);
|
|
|
|
|
|
+ updateByEntityWrapperNoEntity();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateByEntityWrapperNull() {
|
|
public void testUpdateByEntityWrapperNull() {
|
|
- Long id = 918L;
|
|
|
|
- H2User user = new H2User();
|
|
|
|
- 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);
|
|
|
|
-
|
|
|
|
- H2User userDB = userService.selectById(id);
|
|
|
|
- Assert.assertEquals(1, userDB.getVersion().intValue());
|
|
|
|
- H2User updateUser = new H2User();
|
|
|
|
- updateUser.setName("918");
|
|
|
|
- updateUser.setVersion(1);
|
|
|
|
- Assert.assertTrue(userService.update(updateUser, null));
|
|
|
|
- EntityWrapper<H2User> ew = new EntityWrapper<>();
|
|
|
|
- int count1 = userService.selectCount(ew);
|
|
|
|
- ew.eq("name", "918").eq("version", 1);
|
|
|
|
- int count2 = userService.selectCount(ew);
|
|
|
|
- List<H2User> userList = userService.selectList(new EntityWrapper<H2User>());
|
|
|
|
- for (H2User u : userList) {
|
|
|
|
- System.out.println(u);
|
|
|
|
- }
|
|
|
|
- System.out.println("count1=" + count1 + ", count2=" + count2);
|
|
|
|
- Assert.assertTrue(count2 > 0);
|
|
|
|
- Assert.assertEquals(count1, count2);
|
|
|
|
|
|
+ updateByEntityWrapperNull();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateBatch() {
|
|
public void testUpdateBatch() {
|
|
- List<H2User> list = userService.selectList(new EntityWrapper<H2User>());
|
|
|
|
- Map<Long, Integer> userVersionMap = new HashMap<>();
|
|
|
|
- for (H2User u : list) {
|
|
|
|
- userVersionMap.put(u.getId(), u.getVersion());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- Assert.assertTrue(userService.updateBatchById(list));
|
|
|
|
- list = userService.selectList(new EntityWrapper<H2User>());
|
|
|
|
- for (H2User user : list) {
|
|
|
|
- Assert.assertEquals(userVersionMap.get(user.getId()) + 1, user.getVersion().intValue());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ updateBatchSimpleCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateInLoop() {
|
|
public void testUpdateInLoop() {
|
|
- List<H2User> list = userService.selectList(new EntityWrapper<H2User>());
|
|
|
|
- Map<Long, Integer> versionBefore = new HashMap<>();
|
|
|
|
- Map<Long, String> nameExpect = new HashMap<>();
|
|
|
|
- for (H2User 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<H2User>());
|
|
|
|
- for (H2User u : list) {
|
|
|
|
- Assert.assertEquals(u.getName(), nameExpect.get(u.getId()));
|
|
|
|
- if (u.getVersion() != null)
|
|
|
|
- Assert.assertEquals(versionBefore.get(u.getId()) + 1, u.getVersion().intValue());
|
|
|
|
- }
|
|
|
|
|
|
+ updateInLoopCase();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateAllColumnInLoop() {
|
|
public void testUpdateAllColumnInLoop() {
|
|
- List<H2User> list = userService.selectList(new EntityWrapper<H2User>());
|
|
|
|
- Map<Long, Integer> versionBefore = new HashMap<>();
|
|
|
|
- Map<Long, String> nameExpect = new HashMap<>();
|
|
|
|
- for (H2User 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<H2User>());
|
|
|
|
- for (H2User u : list) {
|
|
|
|
- Assert.assertEquals(u.getName(), nameExpect.get(u.getId()));
|
|
|
|
- Assert.assertEquals(versionBefore.get(u.getId()) + 1, u.getVersion().intValue());
|
|
|
|
- }
|
|
|
|
|
|
+ updateAllColumnInLoop();
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
@@ -379,23 +156,7 @@ public class H2MvcCaseTest extends H2Test {
|
|
|
|
|
|
@Test
|
|
@Test
|
|
public void testUpdateMy() {
|
|
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());
|
|
|
|
|
|
+ updateByMySql();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -473,13 +234,24 @@ public class H2MvcCaseTest extends H2Test {
|
|
public void testPageWithDollarParamInSelectItems() {
|
|
public void testPageWithDollarParamInSelectItems() {
|
|
Map<String, Object> param = new HashMap<>();
|
|
Map<String, Object> param = new HashMap<>();
|
|
String nameParam = "selectStmtParam";
|
|
String nameParam = "selectStmtParam";
|
|
|
|
+ int ageFrom = 2;
|
|
param.put("nameParam", nameParam);
|
|
param.put("nameParam", nameParam);
|
|
- param.put("ageFrom", 1);
|
|
|
|
|
|
+ param.put("ageFrom", ageFrom);
|
|
param.put("ageTo", 100);
|
|
param.put("ageTo", 100);
|
|
Page<H2User> page = new Page<H2User>(0, 10);
|
|
Page<H2User> page = new Page<H2User>(0, 10);
|
|
- userMapper.selectUserWithDollarParamInSelectStatememt4Page(param, page);
|
|
|
|
|
|
+ List<H2User> list = userMapper.selectUserWithDollarParamInSelectStatememt4Page(param, page);
|
|
Assert.assertNotEquals(0, page.getTotal());
|
|
Assert.assertNotEquals(0, page.getTotal());
|
|
|
|
+ H2User user = list.get(0);
|
|
|
|
+ Assert.assertNotNull("id is selected, should not be null", user.getId());
|
|
|
|
+ Assert.assertNotNull("age is selected, should not be null", user.getAge());
|
|
|
|
+ Assert.assertEquals("age is pow(" + ageFrom + ", 2)", 4, user.getAge().intValue());
|
|
|
|
+ Assert.assertEquals("name is selected, should not be null", "selectStmtParam", user.getName());
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Test
|
|
|
|
+ public void selectMapTest() {
|
|
|
|
+ userMapper.selectMaps(new EntityWrapper<H2User>());
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|