O exemplo abaixo ilustra o uso incorreto de PreparedStatement, pois insere os dados recebidos pela aplicação diretamente no comando SQL que será enviado para o banco de dados.
No segundo exemplo, o parâmetro name é tratado exclusivamente como dado (mais especificamente uma string), o que protege a aplicação contra a tentativa de injeção de código SQL.