From b647d965b6e51e786be2c3e0b04990f6aaf26e3b Mon Sep 17 00:00:00 2001 From: 赵文轩 <1652863494@qq.com> Date: 星期二, 04 六月 2024 19:19:16 +0800 Subject: [PATCH] 同步字典数据工具类 --- src/main/java/com/example/utils/DictionaryUtil.java | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/example/utils/DictionaryUtil.java b/src/main/java/com/example/utils/DictionaryUtil.java index 08b022d..295237d 100644 --- a/src/main/java/com/example/utils/DictionaryUtil.java +++ b/src/main/java/com/example/utils/DictionaryUtil.java @@ -25,8 +25,9 @@ @Slf4j @Component public class DictionaryUtil { -// private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/config.properties"; - private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/ltkj.properties"; + private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/config.properties"; +// private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/ltkj.properties"; +// private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties"; private static String BASE_API_URL = ""; // 璇锋眰浠g爜鎬婚泦鍚� private static List<String> methods = new ArrayList<>(); @@ -42,6 +43,9 @@ // 鍒嗛〉姣忔1000鏉� static { + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + } catch (ClassNotFoundException e) {} methods.add("JGDM"); methods.add("ZDZYZ"); methods.add("YQZD"); @@ -158,7 +162,16 @@ return jsonObject; } + public void execSync(){ + + } + + /** + * 鍗曠嚎绋嬫墽琛� + * @throws IOException + */ public void exec1() throws IOException { + log.info("寮�濮嬫墽琛屽悓姝�"); int size = 1000; FileInputStream inputStream = new FileInputStream(CONFIG_PATH); Properties props = new Properties(); @@ -193,6 +206,11 @@ assert entries != null; JSONObject response = entries.getJSONObject("Response"); if ("0".equals(response.getStr("ResultCode"))) { + try { + dropTable(tabName,connection); + } catch (SQLException e) { + log.error("鍒犻櫎琛ㄥ紓甯� ->{}",e.getMessage()); + } if (isLimit) { maxPage = LimitInsertData(connection, tabName, response,name,page); log.info("璁$畻椤电爜涓� ->{}", maxPage); @@ -226,6 +244,7 @@ log.error("{}璇锋眰澶辫触 - 璇锋眰鐘舵�佺爜涓嶄负0,璇锋眰鍙傛暟 ->{},璇锋眰杩斿洖 ->{}", method,object.toString(),response.toString()); } }); + log.info("鎵ц鍚屾瀹屾瘯"); } /** @@ -290,11 +309,11 @@ connection.setRequestMethod("POST"); connection.setRequestProperty("Accept", "application/json"); // connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); - connection.setRequestProperty("Content-Type", "application/json;utf-8"); + connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); connection.setDoOutput(true); OutputStream stream = connection.getOutputStream(); stream.write(params.getBytes(StandardCharsets.UTF_8)); - BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); + BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),StandardCharsets.UTF_8)); StringBuilder builder = new StringBuilder(); String str; while ((str = reader.readLine()) != null) { @@ -389,6 +408,8 @@ insertSqlBuilder.append("insert into ").append(tabName).append(" ("); selectSqlBuilder.append("select count(1) as count from ").append(tabName).append(" where "); for (Map.Entry<String, Object> entry : jsonObject.entrySet()) { + if (entry.getValue().toString().equals("null")) + continue; insertSqlBuilder.append(entry.getKey()).append(", "); valueBuilder.append("'").append(entry.getValue().toString().replaceAll("'","鈥�")).append("', "); selectSqlBuilder.append(entry.getKey()).append(" = '").append(entry.getValue().toString().replaceAll("'","鈥�")).append("' and "); @@ -457,4 +478,16 @@ Statement statement = connection.createStatement(); statement.execute(sql.toString()); } + + /** + * 鍒犻櫎琛� + * @param tabName + * @param connection + * @throws SQLException + */ + private void dropTable(String tabName,Connection connection) throws SQLException { + String sql = "DROP TABLE IF EXISTS " + tabName; + Statement statement = connection.createStatement(); + statement.executeUpdate(sql); + } } -- Gitblit v1.8.0