str*_*rry 5 java jdbc prepared-statement
我想用预备语句.我已经读过,预处理语句的优点是它们不必每次都被解析/编译,因此减少了负载.现在我的问题是,在Java或我的数据库系统中,对已经准备好的语句的"识别"发生了什么?我问,因为我想知道在我的代码中将PreparedStatement对象存储在何处:作为class属性并为每个请求设置参数或者在有请求时创建一个新的预准备语句对象.
public class Option1 {
private PreparedStatement myStatement;
public Option1() {
// create the myStatement object
myStatement = conn.prepareStatement("");
}
public List<Items> query() {
// just use the myStatement object
myStatement.setString(1, "foo");
}
}
public class Option2 {
public List<Items> query() {
PreparedStatement myLocalStatement = conn.prepareStatement("");;
// create and use the statement
myLocalStatement.setString(1, "foo");
}
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,选择1还是2,更好的方法是什么?但是,每次执行后我都必须做一个"清理" myStatement.close()吗?
也许我应该以另一种方式问它:如何以最有效的方式重复使用它?
更新:如果有两个答案,一个更喜欢选项1和一个选项2,我会请社区投票选择他们的选择^^
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |