![]() |
|
||||
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Você está aqui: JSP (Java Server Pages) ::: JSP + MySQL ::: Passos Iniciais |
Tudo que você precisa saber sobre transações usando JSP + MySQLQuantidade de visualizações: 9218 vezes |
TUDO QUE VOCÊ PRECISA SABER SOBRE TRANSAÇÕES USANDO JSP E MYSQL A maioria das interações JSP/MySQL que você viu até aqui envolveu comandos SQL únicos. As vezes, porém, vários comandos SQL são executados afim de executar uma ação única. Examine o cenário de transferência de dinheiro entre contas. Se o dinheiro for retirado da conta A mas um problema ocorrer durante o acréscimo deste valor na conta B, o banco de dados ficará inconsistente. Para evitar isso, os bancos de dados fornecem um recurso conhecido como transação. Uma transação é composta de um conjunto de instruções SQL. Ou o conjunto inteiro é executado com sucesso ou o banco de dados volta ao seu estado anterior. Por padrão, o objeto Connection é configurado com o valor true para sua propriedade autocommit, ou seja, a cada comando SQL executado, o banco de dados é atualizado e outras pessoas acessando já podem ver as alterações. Assim, o primeiro passo é alterar este comportamento usando: conn.setAutoCommit(false); Onde conn é uma referência válida para um objeto Connection. Pronto! Agora o banco de dados só será realmente atualizado quando o método commit() do objeto Connection for chamado: conn.commit(); Durante o processamento dos comandos SQL erros podem surgir. Caso isso aconteça só precisamos chamar o método: conn.rollback(); E o banco de dados voltará ao seu estado original. Veja um exemplo completo: <%@ page language="java" import="java.sql.*, estudos.Conexao" %> <html> <head><title>Aprendendo JSP</title> </head> <body> <% // Este exemplo mostra como usar transações usando // JSP + MySQL Connection conn = Conexao.conectar(); conn.setAutoCommit(false); // desativa autocommit try{ // tenta gravar os dados Statement query = conn.createStatement(); // o trecho de código abaixo insere três registros // em uma tabela chamada CLIENTES query.executeUpdate("INSERT INTO CLIENTES " + "VALUES('', 393, 'Carlos', '1234', 23)"); query.executeUpdate("INSERT INTO CLIENTES " + "VALUES('', 434, 'Maria', '5555', 31)"); query.executeUpdate("INSERT INTO CLIENTES " + "VALUES('', 421, 'José Carlos', '4321', 54)"); conn.commit(); // grava os dados } catch(SQLException e){ conn.rollback(); // houve erro...voltar ao estado original } finally{ conn.setAutoCommit(true); // ativa autocommit } %> </body> </html> |
![]() |
Veja mais Dicas e truques de JSP (Java Server Pages) |
Dicas e truques de outras linguagens |
Java - Como construir uma data em Java usando o método set() da classe Calendar - Apostila Java Básico C# - Como remover um elemento em uma determinada posição de uma List<T> do C# usando a função RemoveAt() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |