java byte array to blob

java byte array to blob

Para converter um array de bytes em um objeto Blob (binary large object) em Java, você pode usar a classe ByteArrayInputStream da biblioteca java.io e a interface Blob da biblioteca java.sql. A interface Blob representa um objeto grande de dados binários que pode ser armazenado em um banco de dados ou em outra fonte de dados.

Aqui está um exemplo de como converter um array de bytes em um objeto Blob usando a classe ByteArrayInputStream:

refer to:‮al‬utturi.com
import java.io.ByteArrayInputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Main {
  public static void main(String[] args) {
    byte[] bytes = // Array de bytes aqui...

    try (Connection conexao = // Conexão com o banco de dados aqui...
         PreparedStatement statement = conexao.prepareStatement("INSERT INTO tabela (coluna_blob) VALUES (?)")) {
      // Converte o array de bytes em um objeto Blob
      Blob blob = conexao.createBlob();
      try (ByteArrayInputStream stream = new ByteArrayInputStream(bytes)) {
        blob.setBinaryStream(1).use(out -> out.write(bytes));
      }

      // Define o objeto Blob como parâmetro da consulta SQL
      statement.setBlob(1, blob);

      // Executa a consulta
      statement.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
}

Este código cria um objeto Blob a partir de um array de bytes usando o método createBlob da interface Connection e o escreve em um ByteArrayInputStream. Em seguida, define o objeto Blob como um parâmetro de uma consulta SQL usando o método setBlob da classe PreparedStatement e executa a consulta para inserir o objeto Blob em uma tabela do banco de dados.

Created Time:2017-11-03 00:14:46  Author:lautturi