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.