Skip to content

Commit 85e61a4

Browse files
authored
Merge pull request #361 from lloyds-banking-group/main
EC72 Java Example Code
2 parents c0f117a + d07da17 commit 85e61a4

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

src/main/rules/GCI72/java/GCI72.asciidoc

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,32 @@ public void foo() {
3030
[source,java]
3131
----
3232
public void foo() {
33-
// ...
34-
String query = "SELECT name FROM users where id in (0 ";
35-
for (int i = 1; i < 20; i++) {
36-
37-
query = baseQuery.concat("," + i);
33+
StringBuilder queryBuilder = new StringBuilder("SELECT name FROM users WHERE id IN (");
34+
for (int i = 0; i < 20; i++) {
35+
if (i > 0) {
36+
queryBuilder.append(",");
37+
}
38+
queryBuilder.append("?");
3839
}
40+
queryBuilder.append(")");
41+
42+
String query = queryBuilder.toString();
3943
40-
query = baseQuery.concat(")");
41-
Statement st = conn.createStatement();
42-
ResultSet rs = st.executeQuery(query); // compliant
44+
try (Connection conn = DriverManager.getConnection("your-database-url");
45+
PreparedStatement pst = conn.prepareStatement(query)) {
4346
44-
// iterate through the java resultset
45-
while (rs.next()) {
46-
String name = rs.getString("name");
47-
System.out.println(name);
47+
for (int i = 0; i < 20; i++) {
48+
pst.setInt(i + 1, i);
49+
}
50+
51+
try (ResultSet rs = pst.executeQuery()) { // compliant
52+
while (rs.next()) {
53+
String name = rs.getString("name");
54+
System.out.println(name);
55+
}
56+
}
57+
} catch (SQLException e) {
58+
e.printStackTrace();
4859
}
49-
st.close();
50-
// ...
5160
}
5261
----

0 commit comments

Comments
 (0)