Sobes.tech
Junior — Middle

Qual é a diferença entre usar uma declaração simples e uma declaração preparada para executar consultas SQL no JDBC?

sobes.tech IA

Resposta da IA

As principais diferenças entre Statement e PreparedStatement em JDBC:

  • Statement é usado para executar consultas SQL simples sem parâmetros. A consulta é formada como uma string e enviada para execução.
  • PreparedStatement permite criar consultas parametrizadas com marcadores de posição (por exemplo, ?), que podem ser preenchidos de forma segura com valores.

Vantagens do PreparedStatement:

  • Segurança: previne injeções SQL através do correto escape dos parâmetros.
  • Desempenho: a consulta é compilada uma única vez e pode ser executada várias vezes com diferentes parâmetros.
  • Conveniência: facilita o trabalho com dados dinâmicos.

Exemplo de uso do PreparedStatement:

String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();

Enquanto que Statement requer concatenação de strings, o que não é seguro e é menos eficiente.