我正在尝试使用JDBC进行插入,我在Camel文档中看到了这个示例:https://camel.apache.org/components/latest/jdbc-component.html#_using_named_parameters
但是
.setBody("select * from projects where license = :?lic and id > :?min order by id")
不编译。
ProcessorDefinition类型中的方法setBody(Expression)不适用于参数(String)
需要使用simple()将字符串推入setBody(),但是当我尝试这样做时,name参数不起作用。我们遇到了“:“,它在运行时失败。
是我误解了如何指定这些名称参数,还是文档错误?我们如何在Camel中安全地构建sql语句?
2条答案
按热度按时间u2nhd7ah1#
请确保在JDBC URL中指定 useHeadersAsParameters=true,如以下示例所示:
5f0d552i2#
setBody(simple("...:?lic"))
工作正常。看看这里的例子
项目编译时没有任何错误,并且在运行时中有成功的选择结果