Java MySQL 批量查询数据,每次查询10条

因为 数据量比较多, 比如每次

        /**
         * 批量查询
         * @param sourList
         * @param batchCount
         * @param userMapper
         * @return
         */
        public  List<User> dealBySubList(Set<String> sourList,Integer batchCount,UserMapper userMapper){
            
            List<User> userList = new ArrayList<User>();
            List<String> list = new ArrayList<String>();
            for(String obj:sourList){
                
                list.add(obj);
            }
            int sourListSize = list.size();
            int subCount = sourListSize%batchCount==0 ? sourListSize/batchCount : sourListSize/batchCount+1;
            int startIndext = 0;
            int stopIndext = 0;
            for(int i=0;i<subCount;i++){
                stopIndext = (i==subCount-1) ? stopIndext + sourListSize%batchCount : stopIndext + batchCount;
                List<String> tempList = new ArrayList<String>(list.subList(startIndext, stopIndext));
                if(tempList.size()>0){
                 userList.addAll(userMapper.getUserListByToken(tempList));
                }
                startIndext = stopIndext;
            }
            return userList;
        }

 

查询10000 条信息, 不可能 查10000次, 或者, 不可能用in 一次查询, 所以使用 分页批量查询,一下是代码

posted @ 2017-03-24 14:14  猪哥哥厉害  阅读(14587)  评论(2编辑  收藏  举报