Using Statement with String Concatenation
Using Statement.executeQuery with string concatenation instead of PreparedStatement with parameters is the primary cause of SQL injection in Java applications.
Preview example – JAVA
// Vulnerable
String query = "SELECT * FROM users WHERE id = " + userId;
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);