Pular para o conteúdo principal

Questão de Programação — JDBC — FCC 2022

ProgramaçãoJDBC
Código
fc066574
Banca
FCC
Órgão
TRT - 4ª REGIÃO (RS)
Ano
2022
Cargo
Analista Judiciário - Especialidade: Tecnologia da Informação
Em uma aplicação Java, para interagir com um banco de dados H2 usando JDBC um Analista deve indicar (ou registrar) o driver JDBC utilizando o comando
  1. ADriverManager.JDBCDriver("org.h2.Driver");
  2. BClass.forDriver("com.jdbc.h2.Driver");
  3. CClass.driver("com.h2.cj.jdbc.Driver");
  4. DConnection.JDBCDriver("com.jdbc.h2.Driver");
  5. EClass.forName("org.h2.Driver");
Revelar gabarito e comentário

GabaritoE — Class.forName("org.h2.Driver");

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

JDBC – Registro do Driver

Gabarito: letra E. Em Java, para registrar um driver JDBC, utiliza-se o método estático Class.forName(String className), passando o nome totalmente qualificado da classe do driver. No caso do banco H2, a classe é "org.h2.Driver". Esse método carrega a classe dinamicamente, executando seu bloco estático que registra a instância do driver no DriverManager.

O código correto é:

Class.forName("org.h2.Driver");

As demais alternativas usam métodos inexistentes ou nomes de classe errados.

Alternativa A — ❌ Incorreta

DriverManager.JDBCDriver("org.h2.Driver");Método inexistente. A classe DriverManager não possui um método JDBCDriver. O correto é usar Class.forName().

Alternativa B — ❌ Incorreta

Class.forDriver("com.jdbc.h2.Driver");Método e classe errados. O método forDriver não existe na classe Class. Além disso, o nome da classe do driver para H2 é org.h2.Driver, e não com.jdbc.h2.Driver.

Alternativa C — ❌ Incorreta

Class.driver("com.h2.cj.jdbc.Driver");Método e classe errados. Class.driver não é um método válido. O nome da classe também está incorreto.

Alternativa D — ❌ Incorreta

Connection.JDBCDriver("com.jdbc.h2.Driver");Método e classe errados. A interface Connection não possui um método JDBCDriver. O nome do driver também está errado.

Alternativa E — ✅ Correta ⟵ GABARITO

Class.forName("org.h2.Driver");Forma correta e clássica. O método forName carrega a classe do driver (no caso, a do H2) e registra automaticamente o driver no DriverManager. Essa é a abordagem tradicional usada desde o JDBC 3.0; versões mais recentes (JDBC 4.0+) podem usar o carregamento automático via META-INF/services, mas a pergunta pede explicitamente "indicar (ou registrar) o driver", e Class.forName é a forma explícita de fazê-lo.

PEGA ESSA DICA!

Memorize a sintaxe: Class.forName("driver.fully.qualified.ClassName");. Os nomes de drivers mais comuns:

  • Oracle: oracle.jdbc.driver.OracleDriver

  • MySQL: com.mysql.cj.jdbc.Driver

  • PostgreSQL: org.postgresql.Driver

  • H2: org.h2.Driver

Gabarito: letra E.

Link permanente: /questoes/fc066574