|
@@ -0,0 +1,146 @@
|
|
|
+package com.baomidou.mybatisplus.test.h2;
|
|
|
+
|
|
|
+import java.io.BufferedReader;
|
|
|
+import java.io.FileReader;
|
|
|
+import java.io.IOException;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.sql.Connection;
|
|
|
+import java.sql.SQLException;
|
|
|
+import java.sql.Statement;
|
|
|
+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.context.ApplicationContext;
|
|
|
+import org.springframework.context.support.ClassPathXmlApplicationContext;
|
|
|
+import org.springframework.test.context.ContextConfiguration;
|
|
|
+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.persistent.H2User;
|
|
|
+import com.baomidou.mybatisplus.test.h2.entity.service.IH2UserService;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * Mybatis Plus H2 Junit Test
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author Caratacus
|
|
|
+ * @date 2017/4/1
|
|
|
+ */
|
|
|
+@RunWith(SpringJUnit4ClassRunner.class)
|
|
|
+@ContextConfiguration(locations = { "classpath:h2/spring-test-h2.xml" })
|
|
|
+public class H2UserTest {
|
|
|
+
|
|
|
+ @BeforeClass
|
|
|
+ public static void initDB() throws SQLException,IOException {
|
|
|
+ @SuppressWarnings("resource")
|
|
|
+ ApplicationContext context = new ClassPathXmlApplicationContext("classpath:h2/spring-test-h2.xml");
|
|
|
+ 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");
|
|
|
+ insertUsers(stmt);
|
|
|
+ conn.commit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void insertUsers(Statement stmt) throws SQLException, IOException{
|
|
|
+ String filename = "user.insert.sql";
|
|
|
+ String filePath = H2UserTest.class.getClassLoader().getResource("").getPath()+"/h2/"+filename;
|
|
|
+ try (
|
|
|
+ BufferedReader reader = new BufferedReader(new FileReader(filePath));
|
|
|
+ ) {
|
|
|
+ String line = null;
|
|
|
+ while ((line = reader.readLine()) != null){
|
|
|
+ stmt.execute(line.replace(";", ""));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String readFile(String filename) {
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ String filePath = H2UserTest.class.getClassLoader().getResource("").getPath()+"/h2/"+filename;
|
|
|
+ try (
|
|
|
+ BufferedReader reader = new BufferedReader(new FileReader(filePath));
|
|
|
+ ) {
|
|
|
+ String line = null;
|
|
|
+ while ((line = reader.readLine()) != null)
|
|
|
+ builder.append(line).append(" ");
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return builder.toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IH2UserService userService;
|
|
|
+
|
|
|
+ @Test
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testUpdate(){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ 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));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testSelectOne(){
|
|
|
+ H2User user = new H2User();
|
|
|
+ user.setId(105L);
|
|
|
+ EntityWrapper<H2User> ew = new EntityWrapper<>(user);
|
|
|
+ H2User userFromDB = userService.selectOne(ew);
|
|
|
+ Assert.assertNotNull(userFromDB);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void testSelectPage(){
|
|
|
+ Page<H2User> page = userService.selectPage(new Page<H2User>(1,3));
|
|
|
+ Assert.assertEquals(3,page.getRecords().size());
|
|
|
+ }
|
|
|
+}
|