Spring boot 骆驼文本文件到sql开发人员传输hello world
我正在阅读有关ApacheCamel的文档,但仍然不知道如何将文本文件的数据传输到sql开发人员模式。 我觉得这部分最让我困惑:Spring boot 骆驼文本文件到sql开发人员传输hello world,spring-boot,apache-camel,oracle-sqldeveloper,Spring Boot,Apache Camel,Oracle Sqldeveloper,我正在阅读有关ApacheCamel的文档,但仍然不知道如何将文本文件的数据传输到sql开发人员模式。 我觉得这部分最让我困惑: from("file:/tmp/input?move=./done") .process(new MyLogProcessor()) .bean(new MyTransformer(), "TransformContent") // write it to this output .to("sql:sel
from("file:/tmp/input?move=./done")
.process(new MyLogProcessor())
.bean(new MyTransformer(), "TransformContent")
// write it to this output
.to("sql:select * from articles where category = #"");
是否有任何hello world应用程序可以从文本文件传输到sql开发人员,我可以看到这些应用程序来了解工作原理
谢谢您必须将文件的输出转换为字符串。比如:
@Override
public void configure() throws Exception {
from("file:/tmp/input?move=./done")
.log("order content: ${body}")
.transform(new Expression() {
@Override
public <T> T evaluate(Exchange exchange, Class<T> type) {
String body = exchange.getIn().getBody(String.class);
return (T) body;
}
})
.to("sql:select * from articles where category = #?dataSource=myDS")
.log("query content: ${body}");
}
我添加了一些日志以查看每个步骤的结果是如何执行的。您必须将文件的输出转换为字符串。比如:
@Override
public void configure() throws Exception {
from("file:/tmp/input?move=./done")
.log("order content: ${body}")
.transform(new Expression() {
@Override
public <T> T evaluate(Exchange exchange, Class<T> type) {
String body = exchange.getIn().getBody(String.class);
return (T) body;
}
})
.to("sql:select * from articles where category = #?dataSource=myDS")
.log("query content: ${body}");
}
我添加了一些日志以查看每个步骤的结果是如何执行的。不清楚是否需要将文件内容解析为SQL,但需要将正文转换为字符串:
from("file:/tmp/input?move=./done")
.process(new MyLogProcessor())
... What ever you want here
.convertBodyTo(String.class)
.to("sql:select * from articles where category = #"");
不清楚是否需要将文件内容解析为SQL,但需要将正文转换为字符串:
from("file:/tmp/input?move=./done")
.process(new MyLogProcessor())
... What ever you want here
.convertBodyTo(String.class)
.to("sql:select * from articles where category = #"");
感谢您的提示,如何将文本文件中的数据附加到数据库中?那些发生在选择行中的参数?由于有一个唯一的参数,Camel会自动进行匹配,转换找到的唯一参数。如果您需要提供更多参数,您可能需要在组件文档中查看使用命名参数:在您的示例中,您可以参考field1和field2,并提供一个表达式,根据正文中提供的内容(本例中为文件内容)将映射值返回到这些键。Camel将注意从映射中获取这些值,并将其注入底层JDBC prepared语句中。IMHO不需要表达式。您可以使用fromfile:xxx.convertBodyToString.class将文件InputStream转换为字符串可能他最终需要对内容进行一些解析,并提供一个带有有用值的映射,我想这是典型的用例。感谢您的提示,如何将文本文件中的数据附加到数据库中?那些发生在选择行中的参数?由于有一个唯一的参数,Camel会自动进行匹配,转换找到的唯一参数。如果您需要提供更多参数,您可能需要在组件文档中查看使用命名参数:在您的示例中,您可以参考field1和field2,并提供一个表达式,根据正文中提供的内容(本例中为文件内容)将映射值返回到这些键。Camel将注意从映射中获取这些值,并将其注入底层JDBC prepared语句中。IMHO不需要表达式。您可以使用fromfile:xxx.convertBodyToString.class将文件InputStream转换为字符串可能他最终需要对内容进行一些解析,并提供一个带有有用值的映射,我想这是典型的用例。