Escolar Documentos
Profissional Documentos
Cultura Documentos
▪
• Todo comando SQL utilizado para manipular a base de dados deve ser executado
sempre que possível através do PreparedStatement;
//Executa a query
stmt.executeUpdate();
TRANSAÇÕES
• É uma unidade que preserva a consistência no banco de dados;
• No momento de uma transferência de valores de uma conta "A" para uma conta "B",
que envolve pelo menos uma operação de ajuste no saldo para cada conta, se o
computador responsável pela operação é desligado por falta de energia, é esperado
que o saldo de ambas as contas não tenha se alterado. Neste caso são utilizados
sistemas que suportam transações atômicas;
• Transação pode ser representada pela sigla ACID:
• COMMIT - Todas operações envolvidas em uma unidade de processo executam com sucesso;
• ROLLBACK - Uma ou mais operações envolvidas em uma unidade de processo não executam
corretamente;
• Por padrão, toda conexão com JDBC está com AutoCommit ativado, ou seja, qualquer comando
SQL enviado é um comando executado no banco de dados automaticamente;
• Para desabilitar, após obter uma instância de Connection, utilize o método: setAutoCommit
passando o valor false;
try {
conn.setAutoCommit(false);
PreparedStatement stmt =
conn.prepareStatement("UPDATE TB_LIVRO SET PAIS = ? WHERE PAIS IS NULL");
stmt.setString(1, "Brasil");
stmt.executeUpdate();
PreparedStatement stmt2 =
conn.prepareStatement("UPDATE TB_LIVRO SET DESCONTO = ? WHERE PAIS = ?");
stmt2.setInt(1, 10);
stmt2.setString(2, "Brasil");
stmt2.executeUpdate();
conn.commit();
} catch (Exception e) {
conn.rollback();
}
Crie um programa em Java para realizar transferência de valor entre uma conta e outra. A
transferência será realizada da seguinte forma:
- O usuário deverá informar o número da conta de origem (conta em que o saque será
realizado).
- O usuário deverá informar o valor a ser transferido
- Caso o valor informado esteja disponível na conta de origem, o usuário informará o
número da conta de destino e então a transferência será efetuada.
- Se o valor informado não estiver disponível na conta, o sistema não realizará a
transferência e mostrará a seguinte mensagem:
Seu saldo atual eh de R$, nao serah possivel realizar a transferencia!