2013-10-02 62 views
1

现在我一直在搜索这一切,我得到了相同的答案。我想要的是在java中使用jdbc在一个变量下批生成不同的语句。到目前为止,我得到的是具有相同模式的批处理语句,例如INSERT INTO表VALUES('?','?')。这可以使用预先准备的语句完成。但我试图用java.sql.Statement批量处理不同类型的语句,并且它们执行得很好。例如一个语句中的更新和插入,提交一次。但是现在java.sql.Statement的问题在于它现在做了preparedStatement所做的事情,人们称之为转义。与PreparedStatement一样,问题是只有批处理语句的模式相同,因为您不能更新和插入。它必须是其中的一个。jdbc批处理不同语句

所以现在我想我会用java.sql.Statement中,但有,做preparedStatement时所做的,逃逸的字符串,以避免SQL注入的库。另外,如果我错误地使用了另一个我可能不知道的术语进行批处理,请纠正我并告诉我要调用的内容,即在一个java.sql.Statement下执行多个不同的语句。

最后一件事,当配料我意识到没有语法,这是我不希望的验证,正在执行过程中检查了所有的错误,这也可能属于可以验证SQL中的库下。

回答

1

无论你提到的是正确的。

可以批量相似的一组语句,可以一次得到执行。但据我所知,在java中没有将不同类型的语句组合或批处理并执行的库。

我想告诉的最后一件事是,如果在使用PreparedStatement对象时(如果sql语句中有任何错误)将被抛出,sql语句将仅被编译一次,否则语句将被执行。如果相同的语句以不同的值再次发送到数据库,则该语句将不会被编译并且仅由数据库服务器执行。