Sem categoria

1 Módulo – Sobre JDBC 3 Capítulo

Olá meus amigos, sejam bem vindos ao nosso serceiro  capítulo do  1 módulo do curso de Java com JBDC.

Executar o CallableStatement

  • Depois de definir os valores dos parâmetros que precisam ser definidos, você está pronto para executar o CallableStatement. Aqui está como isso é feito:
Exemplo do Executar o CallableStatement

Exemplo do Executar o CallableStatement

  • executeQuery ()método é usado se o procedimento armazenado retorna um ResultSet.
  • Se o procedimento armazenado apenas atualiza o banco de dados, você pode chamar o executeUpdate ()método em vez disso, como este:
Exemplo do executeUpdate

Exemplo do executeUpdate

ResultSet – contém o conjunto de dados retornado por uma consulta SQL. ResultSet possui método para recuperar os dados resultantes de uma consulta, além de retornar os metadados da consulta.

Para iterar o ResultSet você usa seu next() método. O next() método retorna true se o ResultSet tem um próximo disco, e move o ResultSet para apontar para o próximo registro. Se não houvesse mais registros, next() retorna falso, e você já não pode. Uma vez que o next() método retornou false, você não deve chamar mais. Fazer isso pode resultar em uma exceção.

Aqui está um exemplo de iteração um ResultSet usando o next() método:

Exemplo do ResultSet

Exemplo do ResultSet

  • Como você pode ver, o next()método é realmente chamado antes do primeiro registro é acessado. Isso significa, que o ResultSetcomeça apontando antes do primeiro registro. Uma vez que next() foi chamado uma vez, ele aponta para o primeiro registro.
  • Da mesma forma, quando next()é chamado e retorna false, o ResultSeté realmente apontar após o último registro.
  • Você não pode obter o número de linhas em um ResultSet, exceto se você iterar todo o caminho com ele e contar as linhas. No entanto, se o ResultSeté forward-only, você não pode se mover para trás depois através dele. Mesmo que você pode se mover para trás, seria uma forma lenta de contar as linhas no ResultSet . Está melhor estruturar seu código para que você não precisa saber o número de registros antes do tempo.

Batch Updates
A atualização em lote é um lote de atualizações agrupadas e enviadas para o banco de dados em um “lote”, ao invés de enviar as atualizações de um por um.
O envio de um lote de atualizações para o banco de dados de uma só vez, é mais rápido do que enviá-los um por um, à espera de cada um para terminar. Há menos tráfego de rede envolvida no envio de um lote de atualizações (apenas 1 ida e volta), o banco de dados pode ser capaz de executar algumas das atualizações em paralelo. A velocidade se comparado a executar as atualizações de um por um, pode ser bastante grande.

  • Há duas maneiras para executar atualizações em lote:
  • Você pode batch tanto SQL inserções, atualizações e exclusões. Não faz sentido para lote instruções select.

1.Usando uma Declaração
2.Usando um PreparedStatement

Declaração Batch Updates

  • Você pode usar uma Declaração de objeto para executar atualizações em lote. Você pode fazer isso usando o addBatch ()executeBatch ()métodos. Aqui está um exemplo:
Exemplo do Batch Updates

Exemplo do Batch Updates

  • Primeiro você adicionar as instruções SQL a serem executados no lote, utilizando a ) addBatch ( método.
  • Depois de executar as instruções SQL usando o executeBatch (). O int []array retornado pela executeBatch () método é um array de int dizendo quantos registros foram afetados por cada instrução SQL executada no lote.

Batch PreparedStatement Updates

  • Você também pode usar um PreparedStatementobjeto para executar atualizações em lote. O PreparedStatementpermite que você reutilize a mesma instrução SQL, e apenas inserir novos parâmetros para ele, para cada atualização de executar. Aqui está um exemplo:
exemplo do Batch PreparedStatement Updates

exemplo do Batch PreparedStatement Updates

  • Primeiro um PreparedStatementé criado a partir de uma instrução SQL com pontos de interrogação em, para mostrar onde os valores dos parâmetros devem ser inserido no SQL.
  • Em segundo lugar, cada conjunto de valores dos parâmetros são inseridos no preparedStatement, e o addBatch() método é chamado. Isso adiciona os valores dos parâmetros para o lote internamente. Agora você pode adicionar outro conjunto de valores, a ser inserido na instrução SQL. Cada conjunto de parâmetros são inseridos na SQL e executada separadamente, uma vez que o lote completo é enviado para a base de dados.
  • Em terceiro lugar, o executeBatch()método é chamado, que executa todas as atualizações em lote. A instrução SQL mais os conjuntos de parâmetros são enviados para o banco de dados de uma só vez. O int []array retornado pela executeBatch() método é um array de int dizendo quantos registros foram afetados por cada instrução SQL executada no lote.

Atenção galera, não esqueçam de comentar… Estarei respondendo todos! Abraços…

Diogo Moreira
Tenho 26 anos, formado em bacharelado em ciência da computação. Já fui Analista de Teste e hoje atuo como Analista de Sistema na Accenture há 3 anos e 8 meses com as tecnologias: Java, Oracle, Maven, JDBC, JPA2,Hibernate, Jsf2, Jquery e PrimeFaces. Já trabalhei na mesma empresa e outras com as tecnologias: JavaScript, Postgree, MySql e DB2. Tenho uma frase que sigo desde minha trajetória, “O aprendizado nunca é demais”.

Leave a reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 %