Java ApacheCamel JDBC插入
我正在使用ApacheCamel并希望将数据插入数据库。 我的数据库是SqlServer。 ApacheCamel版本是2.14.1 这就是我一直尝试的Java ApacheCamel JDBC插入,java,apache-camel,esb,Java,Apache Camel,Esb,我正在使用ApacheCamel并希望将数据插入数据库。 我的数据库是SqlServer。 ApacheCamel版本是2.14.1 这就是我一直尝试的 import javax.sql.DataSource; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; import or
import javax.sql.DataSource;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.SimpleRegistry;
import org.apache.commons.dbcp.BasicDataSource;
public class file2DB {
public static void main(String[] args) throws Exception {
final String url = "jdbc:sqlserver://localhost:1433;databaseName=TestDB";
DataSource datasource = setupDataSource(url);
SimpleRegistry simpleregistry = new SimpleRegistry();
simpleregistry.put("DataSource", datasource);
CamelContext context = new DefaultCamelContext(simpleregistry);
context.addRoutes(new file2DB().new MyRouteBuilder());
context.start();
Thread.sleep(20000);
context.stop();
}
class MyRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
try {
from("direct:myTable")
.setBody(constant("INSERT INTO employee1(empId,payrollId) VALUES('1234','4567')"))
.to("jdbc:DataSource");
} catch (Exception e) {
e.printStackTrace();
}
}
}
private static DataSource setupDataSource(String url){
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
basicDataSource.setUsername("sa");
basicDataSource.setPassword("*****");
basicDataSource.setUrl(url);
return basicDataSource;
}
}
我使用下面的代码检查了数据源连接,我得到了结果,所以连接似乎没有问题
Connection con=null;
try {
con = basicDataSource.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from employee1");
while (rs.next()) {
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
我并没有得到任何错误,也并没有在表中插入数据。
我还尝试了同样不起作用的“选择”查询
我尝试了Logger,它在日志中给了我很多错误,没有类defn发现twitter等,我根本没有使用它,我认为我的错误与此无关
任何帮助 您需要触发骆驼路线。您可以使用来自(“direct:myTable”)的
,
,而这并不会做任何开箱即用的事情。您需要将消息发送到此端点,或者将其更改为计时器或触发新消息的内容
要发送消息,请使用ProducerTemplate
,您可以在此处找到相关信息
,
,而这并不会做任何开箱即用的事情。您需要将消息发送到此端点,或者将其更改为计时器或触发新消息的内容
要发送消息,请使用ProducerTemplate
,您可以在此处找到相关信息