Ver Fonte

test: usermapper

370774330@qq.com há 5 anos atrás
pai
commit
ccdf8d6aca

+ 5 - 7
web/src/main/java/seecoder/devcloud/web/dao/user/UserMapper.java

@@ -1,9 +1,6 @@
 package seecoder.devcloud.web.dao.user;
 
-import org.apache.ibatis.annotations.InsertProvider;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.UpdateProvider;
+import org.apache.ibatis.annotations.*;
 import seecoder.devcloud.web.dao.provider.GeneralInsertUpdateSqlProvider;
 import seecoder.devcloud.web.model.po.user.UserPO;
 
@@ -26,10 +23,11 @@ public interface UserMapper {
     @Select("select * from user where id = #{id}")
     UserPO select(Integer id);
 
-    @Select("SELECT * " +
+    @Select("<script>" +
+            "SELECT * " +
             "   FROM user" +
             "   WHERE id in" +
             "   <foreach collection='ids' open='(' item='id' separator=',' close=')'> #{id}</foreach>" +
-            "   )")
-    List<UserPO> selectByIds(List<Integer> ids);
+            "</script>")
+    List<UserPO> selectByIds(@Param("ids") List<Integer> ids);
 }

+ 4 - 0
web/src/main/java/seecoder/devcloud/web/model/po/user/UserPO.java

@@ -29,6 +29,10 @@ public class UserPO implements UserDetails {
 
 	private UserIdentity role;
 
+	public boolean getWithGitlab() {
+		return withGitlab;
+	}
+
 	/**
 	 * 是否关联了gitlab账户
 	 */

+ 67 - 0
web/src/test/java/seecoder/devcloud/web/dao/user/UserMapperTest.java

@@ -0,0 +1,67 @@
+package seecoder.devcloud.web.dao.user;
+
+import org.junit.jupiter.api.Test;
+import org.junit.runner.RunWith;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import seecoder.devcloud.web.model.enums.UserIdentity;
+import seecoder.devcloud.web.model.po.user.UserPO;
+
+import java.util.Arrays;
+
+/**
+ * @author PuHong Weng
+ * @date 2021/3/24
+ * @description:
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest
+@MapperScan(basePackages = {"seecoder.devcloud.web.dao"})
+class UserMapperTest {
+
+    private final UserMapper userMapper;
+
+    @Autowired
+    UserMapperTest(UserMapper userMapper) {
+        this.userMapper = userMapper;
+    }
+
+    @Test
+    void insert() {
+        UserPO po = UserPO.builder()
+                .id(5)
+                .email("email")
+                .phone("177")
+                .role(UserIdentity.STUDENT)
+                .withGitlab(false)
+                .username("user")
+                .build();
+        userMapper.insert(po);
+    }
+
+    @Test
+    void updateUser() {
+        UserPO po = UserPO.builder()
+                .id(2)
+                .email("333email")
+                .phone("188")
+                .role(UserIdentity.TEACHER)
+                .withGitlab(true)
+                .username("userc")
+                .build();
+        userMapper.updateUser(po);
+    }
+
+    @Test
+    void select() {
+        System.out.println(userMapper.select(1));
+    }
+
+    @Test
+    void selectByIds() {
+
+        System.out.println(userMapper.selectByIds(Arrays.asList(1,2,5)));
+    }
+}