Questão de Programação — Java — Quadrix 2024
- Código
- qg354237
- Banca
- Quadrix
- Órgão
- IBICT
- Ano
- 2024
- Nível
- Superior
- Cargo
- Tecnologista - Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: C — CERTO. O JDBC (Java Database Connectivity) é a API padrão do Java para acesso a bancos de dados, e sua arquitetura exige que cada banco de dados tenha um driver JDBC específico, que implementa as interfaces da API para traduzir as chamadas Java em comandos compreensíveis pelo SGBD. A afirmação está correta.
O JDBC é uma API (Application Programming Interface) que define um conjunto de interfaces e classes para que programas Java possam se conectar a bancos de dados relacionais. A ideia central é fornecer uma camada de abstração: o programador escreve código usando as interfaces do JDBC (como Connection, Statement, ResultSet), e o driver específico do banco é quem implementa essas interfaces, convertendo as chamadas Java em protocolos e comandos nativos do SGBD.
Essa arquitetura é o que permite a portabilidade do código Java entre diferentes bancos de dados. Por exemplo, se você desenvolve uma aplicação usando MySQL e depois precisa migrar para PostgreSQL, em teoria basta trocar o driver JDBC e ajustar a string de conexão — o código que usa as interfaces do JDBC permanece o mesmo. Isso só é possível porque cada driver é escrito especificamente para um banco, conhecendo suas particularidades de protocolo, tipos de dados e sintaxe SQL.
Na prática, o fluxo funciona assim: a aplicação carrega o driver (via Class.forName ou, mais modernamente, via DriverManager e o ServiceLoader), estabelece uma conexão com o banco usando uma URL JDBC (como jdbc:mysql://localhost:3306/meubanco), e a partir daí executa comandos SQL. O driver é o intermediário que traduz tudo isso para o protocolo nativo do banco. Sem o driver específico, o Java não consegue se comunicar com o banco — é por isso que cada banco (MySQL, Oracle, PostgreSQL, SQL Server, etc.) possui seu próprio driver JDBC, geralmente fornecido pelo próprio fabricante ou pela comunidade.
A pegadinha que a banca poderia explorar aqui é a confusão entre JDBC e outras tecnologias de persistência, como JPA (Java Persistence API) ou Hibernate. Enquanto o JDBC é uma API de baixo nível que exige drivers específicos por banco, o JPA/Hibernate são camadas de abstração mais altas que usam o JDBC por baixo, mas oferecem portabilidade ainda maior — o Hibernate, por exemplo, gera o SQL adequado para cada banco automaticamente, mas ainda assim depende do driver JDBC subjacente. A afirmação da questão, porém, é sobre o JDBC em si, e nesse contexto está correta.
Guarde o critério decisivo: JDBC = API + driver específico por banco. É exatamente essa característica que torna a afirmação verdadeira.
A afirmação está correta. O JDBC é uma API que define interfaces padrão, mas a implementação concreta dessas interfaces é feita por drivers específicos para cada banco de dados. Cada SGBD (MySQL, Oracle, PostgreSQL, SQL Server, etc.) possui seu próprio driver JDBC, que traduz as chamadas Java para o protocolo nativo do banco. Sem o driver específico, a aplicação Java não consegue se conectar ao banco. Essa é a arquitetura fundamental do JDBC e é o que permite a portabilidade do código Java entre diferentes bancos, desde que se troque o driver e a string de conexão.
Gabarito: C — CERTO.
Link permanente: /questoes/qg354237