Java 一个语句对象,多个执行更新
建议只创建一个语句对象并对其执行多个executeUpdate() 对于每个executeUpdate,最好是一个语句对象:Java 一个语句对象,多个执行更新,java,jdbc,Java,Jdbc,建议只创建一个语句对象并对其执行多个executeUpdate() 对于每个executeUpdate,最好是一个语句对象: // Vantages/drawbacks of this solution? conn.setAutocommit(false); Statement stmt1 = conn.createStatement(); stmt1.executeUpdate('[ANY_INSERT_SQL]'); Statement stmt2 = conn.createStateme
// Vantages/drawbacks of this solution?
conn.setAutocommit(false);
Statement stmt1 = conn.createStatement();
stmt1.executeUpdate('[ANY_INSERT_SQL]');
Statement stmt2 = conn.createStatement();
stmt2.executeUpdate('[ANY_INSERT_SQL]');
Statement stmt3 = conn.createStatement();
stmt3.executeUpdate('[ANY_INSERT_SQL]');
conn.commit();
提前谢谢
PS:我知道PreparedStatement类,而且我经常使用它,但我怀疑的是语句的用法。没关系,只要确保关闭所有语句对象。基于javadoc,一个语句只能有一个关联的
结果集
对象
用于执行静态命令的对象
SQL语句并返回
它产生的结果
默认情况下,只有一个ResultSet对象
每语句对象可以在以下位置打开:
同时。因此,如果
正在读取一个ResultSet对象
在阅读的过程中穿插着
另一个,每个都必须已生成
通过不同的语句对象。全部的
语句中的执行方法
接口隐式关闭
Station的当前结果集对象,如果
一个开放的存在
如果您需要同时处理多个结果集,可能需要更多的语句
通常情况下,您只需要使用一个
就性能而言,可能会更好,因为它可以保持较少的资源处于活动状态
// Vantages/drawbacks of this solution?
conn.setAutocommit(false);
Statement stmt1 = conn.createStatement();
stmt1.executeUpdate('[ANY_INSERT_SQL]');
Statement stmt2 = conn.createStatement();
stmt2.executeUpdate('[ANY_INSERT_SQL]');
Statement stmt3 = conn.createStatement();
stmt3.executeUpdate('[ANY_INSERT_SQL]');
conn.commit();