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…