Forráskód Böngészése

ActiveRecord单元测试

nieqiurong 7 éve
szülő
commit
249e8e8c38

+ 2 - 3
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/impl/ServiceImpl.java

@@ -20,10 +20,9 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
-import javax.annotation.Resource;
-
 import org.apache.ibatis.binding.MapperMethod;
 import org.apache.ibatis.session.SqlSession;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
@@ -52,7 +51,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 @SuppressWarnings("unchecked")
 public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {
 
-    @Resource
+    @Autowired
     protected M baseMapper;
 
     /**

+ 43 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/ActiveRecordTest.java

@@ -0,0 +1,43 @@
+package com.baomidou.mybatisplus.test.h2;
+
+import com.baomidou.mybatisplus.test.h2.config.H2Db;
+import com.baomidou.mybatisplus.test.h2.entity.mapper.H2StudentMapper;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2Student;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import java.io.IOException;
+import java.sql.SQLException;
+
+
+/**
+ *  ActiveRecord 测试
+ * @author nieqiurong 2018/7/27.
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:h2/spring-test-h2.xml"})
+public class ActiveRecordTest {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ActiveRecordTest.class);
+
+    @Autowired
+    private H2StudentMapper studentMapper;
+
+    @BeforeClass
+    public static void InitDB() throws SQLException, IOException {
+        H2Db.initH2Student();
+    }
+
+    @Test
+    public void testInsert() {
+        H2Student student = new H2Student(null, "测试学生", 2);
+        Assert.assertTrue(student.insert());
+    }
+
+}

+ 8 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/config/H2Db.java

@@ -22,6 +22,14 @@ public class H2Db extends BaseDb {
         }
     }
 
+    public static void initH2Student() throws SQLException, IOException {
+        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:h2/spring-test-h2.xml");
+        DataSource ds = context.getBean("dataSource", DataSource.class);
+        try (Connection conn = ds.getConnection()) {
+            H2Db.initData(conn, "/h2/", "student.ddl.sql", "student.insert.sql", "h2Student");
+        }
+    }
+
     public static void initData(Connection conn, String path, String ddlFileName, String insertFileName, String tableName)
         throws SQLException, IOException {
         String createTableSql = readFile(path, ddlFileName);

+ 11 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/entity/mapper/H2StudentMapper.java

@@ -0,0 +1,11 @@
+package com.baomidou.mybatisplus.test.h2.entity.mapper;
+
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2Student;
+
+/**
+ * 学生Mapper层
+ * @author nieqiurong 2018/7/27.
+ */
+public interface H2StudentMapper extends SuperMapper<H2Student> {
+
+}

+ 36 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2Student.java

@@ -0,0 +1,36 @@
+package com.baomidou.mybatisplus.test.h2.entity.persistent;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 学生实体
+ * @author nieqiurong 2018/7/27.
+ */
+@Data
+@TableName("h2student")
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class H2Student extends Model<H2Student> {
+
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    private String name;
+
+    private Integer age;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+}

+ 7 - 0
mybatis-plus/src/test/resources/h2/student.ddl.sql

@@ -0,0 +1,7 @@
+CREATE TABLE IF NOT EXISTS  h2student (
+	id BIGINT(20) NOT NULL AUTO_INCREMENT,
+	name VARCHAR(30) NULL DEFAULT NULL ,
+	age INT(11) NULL DEFAULT NULL ,
+	PRIMARY KEY (id)
+)
+

+ 2 - 0
mybatis-plus/src/test/resources/h2/student.insert.sql

@@ -0,0 +1,2 @@
+insert into h2student (id, name, age)values (1, 'Tom', 1);
+insert into h2student (id, name, age)values (2, 'Jerry', 1);