FC ConcursosFC Concursos

Questão FC266252

Seja o seguinte trecho de código, executado dentro de um servlet Java, em uma aplicação Web devidamente instalada e funcional: ... String sql = "select * from pessoas"; PreparedSta

Plataforma Java EE

IDECAN · 2019

Seja o seguinte trecho de código, executado dentro de um servlet Java, em uma aplicação Web devidamente instalada e funcional:

 

...
String sql = "select * from pessoas";
PreparedStatement stmt = connection.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();


while (rs.next()) {
 //manipulando o rs
}
...


Pode-se afirmar corretamente que

  1. o objeto connection representa uma conexão com um SGBD, no entanto, não há necessidade de uma biblioteca JDBC pré-instalada para essa conexão..
  2. o objeto rs deve armazenar o resultado da execução de select * from pessoas. No entanto, esse comando só será executado pelo rs.next().
  3. um PreparedStatement representa um comando SQL pré-compilado e armazenado em um objeto, o qual pode ser executado múltiplas vezes eficientemente.
  4. o comando select * from pessoas só irá funcionar se o SGBD instalado for o MySQL Server, última versão.
  5. dentro do while, no lugar do comentário //manipulando o rs, é possível inserir registros na tabela pessoas, fazendo uso do objeto rs.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

Um PreparedStatement é um objeto que representa uma instrução SQL pré-compilada pelo SGBD e armazenada na sessão da aplicação, permitindo que a mesma declaração seja executada várias vezes de forma eficiente.

Normalmente é obtido via Connection.prepareStatement(sql). A string SQL pode conter parâmetros marcados por "?", que são vinculados em tempo de execução por métodos como setString, setInt, etc.

Como o SGBD já possui o plano de execução pré-compilado, execuções repetidas usam menos sobrecarga do que recriar instruções dinâmicas; isso melhora desempenho e possibilita uso de batch para várias operações.

Além do ganho de desempenho, o uso de parâmetros reduz a necessidade de concatenar valores em SQL, aumentando a segurança contra SQL injection e garantindo conversão de tipos adequada.

Recursos comuns: executeQuery() para consultas, executeUpdate() para alterações, e sempre fechar o PreparedStatement após o uso para liberar recursos.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo