使用多个准备好的语句JDBC

问题描述 投票:0回答:1

如果我打开一个PreparedStatement,然后创建一个新的而不关闭旧的C0,会不会有问题?还是强制关闭它?下面的代码有任何含义吗?

PreparedStatement stmt = con.preparedStatement(someQuery);
int result=stmt.executeUpdate();

//some logic...
//some more logic goes here..

stmt=con.preparedStatement(nextQuery); //do I have to say stmt.close() before this line?
stmt.setString(1,something);
result=stmt.executeUpdate();

注意,我已经在上面的代码中重用了PreparedStatement变量。请问有什么问题吗?

java jdbc
1个回答
0
投票

PreparedStatement包含已预编译的SQL语句。在您的情况下,不需要关闭prepareStatement(当您再次使用同一连接对象定义第二个连接对象时)。请在关闭连接之前最后将其关闭。请参考PS上的官方Java文档以获取更多信息https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

此外,如果要一次执行两个语句,请考虑将连接对象的autoCommit属性设置为false,然后在最后提交。

© www.soinside.com 2019 - 2024. All rights reserved.