FileInputStream fis = null; BufferedReader reader = null; String enfaceName = null; List<SyhFieldBean> syhFieldBeans = new ArrayList<>(); List<Map<String, String>> mapList = new ArrayList<Map<String, String>>(); HashMap<String, String> map = new HashMap<String, String>(); try { InputStreamReader read = null; fis = (FileInputStream) file.getInputStream(); read = new InputStreamReader(fis, "UTF-8"); reader = new BufferedReader(read); String line; String regex = "`(.*?)`"; int flag = 0; List<String> fileIdCnNames = new ArrayList<String>(); while ((line = reader.readLine()) != null) { //表名 if (line != null && line.toString().contains("TABLE")) { Pattern p = Pattern.compile(regex); Matcher m = p.matcher(line); if (enfaceName == null || "".equals(enfaceName)) { while (m.find()) { enfaceName = m.group(1); //通过表名查询对应的字段 syhFieldBeans = syhRepositoryMapper.queryFieldAllByEnRepository(enfaceName); } } } else if (line != null && line.toString().contains("VALUES")) {//数据值 String zhi = line.substring(line.indexOf("(") + 1, line.indexOf(")")); String b = zhi.replaceAll("'", "").replaceAll(" ", ""); List<String> result = Arrays.asList(b.split(",")); for (int i = 1; i <= result.size(); i++) { if (result.get(i - 1).equals("null")) { continue; } else if (syhFieldBeans.get(i - 1).getFieldCnName() == null || syhFieldBeans.get(i - 1).getFieldCnName().equals(" ")) { map.put(syhFieldBeans.get(i - 1).getFieldEnName(), result.get(i - 1)); } else { map.put(syhFieldBeans.get(i - 1).getFieldCnName(), result.get(i - 1)); } } mapList.add(map); } } } catch (Exception e) { } int count = mapList.size(); // 总记录数 // 计算总页数 int pages = count % pageSize == 0 ? count / pageSize : count / pageSize + 1; // 起始位置 int start = pageNum <= 0 ? 0 : (pageNum > pages ? (pages - 1) * pageSize : (pageNum - 1) * pageSize); // 终止位置 int end = pageNum <= 0 ? (pageSize <= count ? pageSize : count) : (pageSize * pageNum <= count ? pageSize * pageNum : count); CommonPage objectCommonPage = new CommonPage<>(); objectCommonPage.setPageNum(pageNum); objectCommonPage.setPageSize(pageSize); objectCommonPage.setTotal(Long.valueOf(mapList.size())); objectCommonPage.setTotalPage((mapList.size() + pageSize - 1) / pageSize); objectCommonPage.setList(mapList.subList(start, end)); return objectCommonPage;
sql文件导入+分页
最新推荐文章于 2024-10-11 22:52:08 发布