diff --git a/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java b/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java index 2967beb3..e7d9c387 100644 --- a/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java +++ b/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java @@ -34,4 +34,5 @@ public class DataxJsonDto implements Serializable { private String querySql; + private String preSql; } diff --git a/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java b/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java index 5378e466..2c46e595 100644 --- a/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java +++ b/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java @@ -50,6 +50,7 @@ public class DataxJsonServiceImpl implements DataxJsonService { } else { JobJdbcDatasource writerDatasource = jobJdbcDatasourceService.getById(dataxJsonDto.getWriterDatasourceId()); dataxJsonHelper.initWriter(writerDatasource, dataxJsonDto.getWriterTables(), dataxJsonDto.getWriterColumns()); + dataxJsonHelper.setPreSql(dataxJsonDto.getPreSql()); } return JSON.toJSONString(dataxJsonHelper.buildJob()); diff --git a/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java b/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java index 8443f18a..bc592ce5 100644 --- a/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java +++ b/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java @@ -63,6 +63,8 @@ public class DataxJsonHelper implements DataxJsonInterface { private String querySql; + private String preSql; + private BaseDataxPlugin readerPlugin; private BaseDataxPlugin writerPlugin; @@ -156,6 +158,7 @@ public class DataxJsonHelper implements DataxJsonInterface { dataxPluginPojo.setJdbcDatasource(writerDatasource); dataxPluginPojo.setTables(writerTables); dataxPluginPojo.setColumns(writerColumns); + dataxPluginPojo.setPreSql(preSql); return writerPlugin.build(dataxPluginPojo); } @@ -171,4 +174,8 @@ public class DataxJsonHelper implements DataxJsonInterface { public void setQuerySql(String querySql) { this.querySql = querySql; } + + public void setPreSql(String preSql) { + this.preSql = preSql; + } } diff --git a/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java b/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java index 9f7083c8..6ed4399e 100644 --- a/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java +++ b/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java @@ -31,6 +31,9 @@ public abstract class BaseWriterPlugin extends BaseDataxPlugin { parameterObj.put("column", dataxPluginPojo.getColumns()); + // preSql + parameterObj.put("preSql", ImmutableList.of(dataxPluginPojo.getPreSql())); + Map connectionObj = Maps.newLinkedHashMap(); connectionObj.put("table", dataxPluginPojo.getTables()); diff --git a/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java b/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java index 712d9e25..f6d46664 100644 --- a/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java +++ b/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java @@ -35,4 +35,9 @@ public class DataxPluginPojo { * querySql 属性,如果指定了,则优先于columns参数 */ private String querySql; + + /** + * preSql 属性 + */ + private String preSql; }