Você precisa usar PreparedStatement .por exemplo.
String insert = "INSERT INTO customer(name,address,email) VALUES(?, ?, ?);";
PreparedStatement ps = connection.prepareStatement(insert);
ps.setString(1, name);
ps.setString(2, addre);
ps.setString(3, email);
ResultSet rs = ps.executeQuery();
Isso evitará ataques de injeção.
A maneira como o hacker o coloca é se a String que você está inserindo veio de algum lugar - por exemplo, um campo de entrada em uma página da Web ou um campo de entrada em um formulário em um aplicativo ou similar.