こんにちは、JDBC を学習しようとしています。ここに私の質問があります:-
JDBCでの使用とは、使用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){ ... }
これらのプログラムはどちらも同じタスクを実行できるためです。
- 2 つの異なる方法が提供されているのはなぜですか? また、繰り返しを避けることが答えであれば、ループは簡単なようです。
- どれが使いやすいか教えてもらえますか?
- それぞれの規定は何ですか?
- それらの違いは何ですか?また、どちらがコードを最適化しますか?