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 一次查询, 所以使用 分页批量查询,一下是代码


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM