嗨,我正在尝试学习 JDBC。这是我的问题:-
JDBC中的Use是什么PreparedStatement
因为我们也可以通过使用达到同样的效果createStatement();
。
我的意思是如果有这样的查询:
Select * from tbl_name where id = somevalue
然后我们可以通过PreparedStatement
和来实现它createStatement()
。如下:
使用CreateStatement()
:
try {
DataInputStream dis=new DataInputStream(System.in);
System.out.println("Enter id :- ");
int id=Integer.parseInt(dis.readLine());
String q="Select * from tbl_name where id="+id;
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(q);
while(rs.next()) {
//fetching part
}
} catch(Exception ex){ ... }
使用PreparedStatement
:
try {
PreparedStatement preStatement=conn.prepareStatement("Select * from tbl_name where id=?");
DataInputStream dis=new DataInputStream(System.in);
System.out.println("Enter id:- ");
int id=Integer.parseInt(dis.readLine());
preStatement.setInt(1, id);
ResultSet result = preStatement.executeQuery();
while(result.next()){
// fetch the data
}
}catch(Exception ex){ ... }
因为这两个程序都能够完成相同的任务。
- 为什么提供两种不同的方法?如果避免重复是答案,那么循环似乎也很容易。
- 谁能告诉我哪个好用?
- 他们每个人的规定是什么?
- 它们之间有什么区别,哪一个优化了代码?