From 9f153c84b2e73d46b3bb3113b1dc4b290310adff Mon Sep 17 00:00:00 2001 From: wzh <971160392@qq.com> Date: Fri, 18 Nov 2022 22:35:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=90update=E3=80=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=AE=9E=E4=BE=8B=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/www/larkmidtable/com/constant/ReaderPluginEnum.java | 1 + .../java/www/larkmidtable/com/constant/WriterPluginEnum.java | 2 +- core/src/main/java/HongHuStart.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java b/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java index beafef1..3bcfab9 100644 --- a/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java +++ b/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java @@ -7,6 +7,7 @@ import java.util.stream.Stream; * @author */ public enum ReaderPluginEnum { + //TODO 需补充插件种类 MYSQLREADER("mysqlreader","www.larkmidtable.com.MySQLReader"), ORACLEREADER("oraclelreader","www.larkmidtable.com.reader.oraclereader.OracleReader"); private String name; diff --git a/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java b/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java index 36f3835..903339f 100644 --- a/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java +++ b/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java @@ -3,7 +3,7 @@ package www.larkmidtable.com.constant; import java.util.stream.Stream; public enum WriterPluginEnum { - + //TODO 需补充插件种类 MYSQLWRITER("mysqlwriter","www.larkmidtable.com.MySQLWriter"), ORACLEWRITER("oraclewriter","ww.larkmidtable.com.writer.oraclewriter.OracleWriter"); private String name; diff --git a/core/src/main/java/HongHuStart.java b/core/src/main/java/HongHuStart.java index 28ebf5e..30316dc 100644 --- a/core/src/main/java/HongHuStart.java +++ b/core/src/main/java/HongHuStart.java @@ -89,7 +89,7 @@ public class HongHuStart { } private static Writer getWriterPlugin(String name) throws ClassNotFoundException, InstantiationException, IllegalAccessException { - return (Writer) Class.forName(WriterPluginEnum.valueOf(name).getClassPath()).newInstance(); + return (Writer) Class.forName(WriterPluginEnum.getByName(name).getClassPath()).newInstance(); } private static Reader getReaderPlugin(String name) throws ClassNotFoundException, InstantiationException, IllegalAccessException { -- Gitee From 668c375dc67050ff549a52c340d46bd0540a93da Mon Sep 17 00:00:00 2001 From: wzh <971160392@qq.com> Date: Fri, 18 Nov 2022 22:44:47 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E3=80=90update=E3=80=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=AE=9E=E4=BE=8B=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/www/larkmidtable/com/constant/ReaderPluginEnum.java | 1 + .../java/www/larkmidtable/com/constant/WriterPluginEnum.java | 1 + core/src/main/java/HongHuStart.java | 1 + 3 files changed, 3 insertions(+) diff --git a/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java b/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java index 3bcfab9..d262c3f 100644 --- a/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java +++ b/common/src/main/java/www/larkmidtable/com/constant/ReaderPluginEnum.java @@ -8,6 +8,7 @@ import java.util.stream.Stream; */ public enum ReaderPluginEnum { //TODO 需补充插件种类 + MYSQLREADER("mysqlreader","www.larkmidtable.com.MySQLReader"), ORACLEREADER("oraclelreader","www.larkmidtable.com.reader.oraclereader.OracleReader"); private String name; diff --git a/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java b/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java index 903339f..101c143 100644 --- a/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java +++ b/common/src/main/java/www/larkmidtable/com/constant/WriterPluginEnum.java @@ -4,6 +4,7 @@ import java.util.stream.Stream; public enum WriterPluginEnum { //TODO 需补充插件种类 + MYSQLWRITER("mysqlwriter","www.larkmidtable.com.MySQLWriter"), ORACLEWRITER("oraclewriter","ww.larkmidtable.com.writer.oraclewriter.OracleWriter"); private String name; diff --git a/core/src/main/java/HongHuStart.java b/core/src/main/java/HongHuStart.java index 30316dc..2b0e6db 100644 --- a/core/src/main/java/HongHuStart.java +++ b/core/src/main/java/HongHuStart.java @@ -88,6 +88,7 @@ public class HongHuStart { logger.info("结束迁移任务...."); } + private static Writer getWriterPlugin(String name) throws ClassNotFoundException, InstantiationException, IllegalAccessException { return (Writer) Class.forName(WriterPluginEnum.getByName(name).getClassPath()).newInstance(); } -- Gitee From 69f875eb419f9e663edae66507721b4f2b251b00 Mon Sep 17 00:00:00 2001 From: wzh <971160392@qq.com> Date: Sun, 20 Nov 2022 16:53:33 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E3=80=90update=E3=80=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=AE=9E=E4=BE=8B=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../www/larkmidtable/com/reader/Reader.java | 12 +++++++++++- .../www/larkmidtable/com/writer/Writer.java | 18 ++++++++++++++++-- .../java/www/larkmidtable/com/MySQLReader.java | 9 +++++---- .../java/www/larkmidtable/com/MySQLWriter.java | 5 ++--- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/common/src/main/java/www/larkmidtable/com/reader/Reader.java b/common/src/main/java/www/larkmidtable/com/reader/Reader.java index 8ed2034..530a57d 100644 --- a/common/src/main/java/www/larkmidtable/com/reader/Reader.java +++ b/common/src/main/java/www/larkmidtable/com/reader/Reader.java @@ -17,7 +17,15 @@ import java.util.concurrent.LinkedBlockingQueue; public abstract class Reader { + protected ConfigBean configBean; + public ConfigBean getConfigBean() { + return configBean; + } + + public void setConfigBean(ConfigBean configBean) { + this.configBean = configBean; + } // 初始化操作 public abstract void open(); @@ -34,7 +42,9 @@ public abstract class Reader { public static Reader getReaderPlugin(String name, ConfigBean readerConfigBean) { try { - return (Reader) Class.forName(ReaderPluginEnum.getByName(name).getClassPath()).newInstance(); + Reader reader = (Reader) Class.forName(ReaderPluginEnum.getByName(readerConfigBean.getPlugin()).getClassPath()).newInstance(); + reader.setConfigBean(readerConfigBean); + return reader; } catch (Exception e) { throw new HongHuException("文件获取不到", e); } diff --git a/common/src/main/java/www/larkmidtable/com/writer/Writer.java b/common/src/main/java/www/larkmidtable/com/writer/Writer.java index 4b6d0a2..e6681bc 100644 --- a/common/src/main/java/www/larkmidtable/com/writer/Writer.java +++ b/common/src/main/java/www/larkmidtable/com/writer/Writer.java @@ -15,9 +15,23 @@ import java.util.Queue; * @Description: **/ public abstract class Writer { - public static Writer getWriterPlugin(String name, ConfigBean readerConfigBean) { + + protected ConfigBean configBean; + + public ConfigBean getConfigBean() { + return configBean; + } + + public void setConfigBean(ConfigBean configBean) { + this.configBean = configBean; + } + + public static Writer getWriterPlugin(String name, ConfigBean writerConfigBean) { try { - return (Writer) Class.forName(WriterPluginEnum.getByName(name).getClassPath()).newInstance(); + Writer writer = (Writer) Class.forName(WriterPluginEnum.getByName(name).getClassPath()).newInstance(); + writer.setConfigBean(writerConfigBean); + writer.getClass(); + return writer; } catch (Exception e) { throw new HongHuException("文件获取不到", e); } diff --git a/mysqlreader/src/main/java/www/larkmidtable/com/MySQLReader.java b/mysqlreader/src/main/java/www/larkmidtable/com/MySQLReader.java index 653be9b..c70d8a0 100644 --- a/mysqlreader/src/main/java/www/larkmidtable/com/MySQLReader.java +++ b/mysqlreader/src/main/java/www/larkmidtable/com/MySQLReader.java @@ -24,14 +24,15 @@ public class MySQLReader extends Reader { private Connection connection ; private PreparedStatement statement ; private static Logger logger = LoggerFactory.getLogger(MySQLReader.class); + + @Override public void open() { try { logger.info("MySQL的Reader建立连接开始...."); Class.forName(DBType.MySql.getDriverClass()); connection = DriverManager - .getConnection("jdbc:mysql://localhost:3306/filedb?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC", - "root","root"); + .getConnection(configBean.getUrl(),configBean.getUsername(),configBean.getPassword()); logger.info("MySQL的Reader建立连接结束...."); } catch (Exception e) { e.printStackTrace(); @@ -43,11 +44,11 @@ public class MySQLReader extends Reader { logger.info("MySQL读取数据操作...."); try { List records = new ArrayList<>(); - String sql = "select * from student"; + String sql = String.format("select * from %s",configBean.getTable()); statement = connection.prepareCall(sql); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { - String name = resultSet.getString("name"); + String name = resultSet.getString(configBean.getColumn()); records.add(name); } Channel.getQueue().add(records); diff --git a/mysqlwriter/src/main/java/www/larkmidtable/com/MySQLWriter.java b/mysqlwriter/src/main/java/www/larkmidtable/com/MySQLWriter.java index 65984cc..0e98a87 100644 --- a/mysqlwriter/src/main/java/www/larkmidtable/com/MySQLWriter.java +++ b/mysqlwriter/src/main/java/www/larkmidtable/com/MySQLWriter.java @@ -29,8 +29,7 @@ public class MySQLWriter extends Writer { try { logger.info("MySQL的Writer建立连接开始...."); Class.forName(DBType.MySql.getDriverClass()); - connection = DriverManager - .getConnection("jdbc:mysql://localhost:3306/filedb?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC","root","root"); + connection = DriverManager.getConnection(configBean.getUrl(),configBean.getUsername(),configBean.getPassword()); connection.setAutoCommit(false); logger.info("MySQL的Writer建立连接结束...."); } catch (Exception e) { @@ -42,7 +41,7 @@ public class MySQLWriter extends Writer { public void startWrite() { logger.info("开始写数据...."); List poll = Channel.getQueue().poll(); - String sql = "insert into student(id,name) values (?,?)"; + String sql = String.format("insert into %s(%s) values (?,?)",configBean.getTable(),configBean.getColumn()); try { statement = connection.prepareStatement(sql); // 批量插入时ps对象必须放到for循环外面 for (int i = 0; i < poll.size(); i++) { -- Gitee