回答編集履歴

1

SQL 生成について追記

2019/02/24 11:43

投稿

jimbe
jimbe

スコア12646

test CHANGED
@@ -15,3 +15,39 @@
15
15
 
16
16
 
17
17
  をループの開始直後に実行し, ループ毎に別の ArrayList にして頂く必要がございます.
18
+
19
+
20
+
21
+ ---
22
+
23
+ 回答とは関係ありませんが, ご注意頂きたく追記いたします.
24
+
25
+
26
+
27
+ SQL の実行におきまして
28
+
29
+ ```
30
+
31
+ sql.append("select user_id, user_name, user_password from user_table where user_name='" + user +"'" + "and user_password=" + psw );
32
+
33
+ pstmt = con.prepareStatement(new String(sql));
34
+
35
+ ```
36
+
37
+ のように SQL を Java の文字列として生成するのは危険です.
38
+
39
+ ```
40
+
41
+ sql.append("select user_id, user_name, user_password from user_table where user_name=? and user_password=?");
42
+
43
+ pstmt = con.prepareStatement(sql.toString());
44
+
45
+ pstmt.setString(1, user);
46
+
47
+ pstmt.setString(2, psw);
48
+
49
+ ```
50
+
51
+ のように, パラメータ設定をご利用ください.
52
+
53
+ SQLインジェクション対策となります.