Browse Source

修复批量接口

menduo 5 years ago
parent
commit
91efa522f3

+ 13 - 0
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/mapper/UserMapper.java

@@ -60,4 +60,17 @@ public interface UserMapper {
 
     @Select("SELECT * FROM user WHERE id in (${userIds})")
     List<User> findAll(@Param("userIds") String userIds);
+
+    @Select({
+            "<script>",
+            "select",
+            "*",
+            "from user",
+            "where id in",
+            "<foreach collection='userIds' item='id' open='(' separator=',' close=')'>",
+            "#{id}",
+            "</foreach>",
+            "</script>"
+    })
+    List<User> findAllUsers(@Param("userIds") List<Long> userIds);
 }

+ 6 - 5
mooctest-user-server/src/main/java/cn/iselab/mooctest/user/service/impl/UserServiceImpl.java

@@ -76,11 +76,12 @@ public class UserServiceImpl implements UserService {
 
     @Override
     public List<User> findAll(List<Long> userIds) {
-        List<User> users = new ArrayList<>();
-        for (Long id : userIds) {
-            users.add(userMapper.findById(id));
-        }
-        return users;
+//        List<User> users = new ArrayList<>();
+//        for (Long id : userIds) {
+//            users.add(userMapper.findById(id));
+//        }
+
+        return userMapper.findAllUsers(userIds);
     }
 
     @Override

+ 1 - 1
mooctest-user-server/src/main/resources/bootstrap.yaml

@@ -1,4 +1,4 @@
-spring.profiles.active: test
+spring.profiles.active: dev
 spring:
   application:
     name: mooctest-user-server

+ 40 - 0
mooctest-user-server/src/test/java/cn/iselab/mooctest/user/service/impl/UserServiceImplTest.java

@@ -0,0 +1,40 @@
+package cn.iselab.mooctest.user.service.impl;
+
+import cn.iselab.mooctest.user.Application;
+import cn.iselab.mooctest.user.model.User;
+import cn.iselab.mooctest.user.service.UserService;
+import com.google.common.collect.Lists;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.SpringApplicationConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.context.web.WebAppConfiguration;
+
+import java.util.List;
+
+/**
+ * @program: mooctest-user
+ * @mail: menduo96@gmail.com
+ * @author: menduo
+ * @create: 2019-12-04 13:36
+ **/
+
+@RunWith(SpringJUnit4ClassRunner.class)//测试的主要组件
+@SpringApplicationConfiguration(classes = Application.class) //设置启动类 加载配置文件
+@WebAppConfiguration
+public class UserServiceImplTest {
+    @Autowired
+    private UserService userService;
+
+    @Test
+    public void test_findAllByIds() {
+        List<Long> ids = Lists.newArrayList(1L,2L,3L);
+        List<User> users = userService.findAll(ids);
+        users.forEach(x ->{
+            System.out.println(x.getName());
+        });
+
+    }
+
+}