Alternativa B - setAutoCommit
Análise Detalhada
O enunciado aborda o gerenciamento de transações no JDBC (Java Database Connectivity). Para entender a resposta, é necessário compreender como o Java interage com bancos de dados relacionais por padrão.
Conceito Chave: AutoCommit
Por padrão, ao estabelecer uma conexão com um banco de dados via JDBC, o modo AutoCommit está ativado (true). Isso significa que:
- Cada comando SQL (DML) é executado e confirmado (commit) imediatamente.
- Não há necessidade de agrupar operações manualmente.
Para garantir a consistência em múltiplas manipulações sucessivas (como transferir dinheiro entre duas contas), precisamos desativar esse comportamento. Isso permite que várias operações sejam tratadas como um único bloco lógico.
Método Correto
O método responsável por alterar essa configuração é o setAutoCommit, definido na interface java.sql.Connection.
connection.setAutoCommit(false);
Ao executar este comando:
- Desligamos o modo automático.
- As operações subsequentes não são confirmadas imediatamente.
- Elas permanecem pendentes até que chamemos explicitamente
commit() (para salvar tudo) ou rollback() (para cancelar tudo).
Análise das Alternativas
| Opção | Função Principal | Correção |
|---|
| A) getConnection | Estabelece a conexão inicial com o banco de dados. | ❌ Errada |
| B) setAutoCommit | Configura se as transações devem ser commitadas automaticamente. | ✅ Correta |
| C) executeUpdate | Executa instruções SQL (INSERT, UPDATE, DELETE) e retorna o número de linhas afetadas. | ❌ Errada |
| D) rollback | Cancela todas as alterações pendentes na transação atual. Só é útil depois de desligar o autoCommit. | ❌ Errada |
Portanto, para viabilizar o controle manual de transações (confirmar ou cancelar grupos de operações), devemos utilizar o método setAutoCommit.