When I was working with Oracle and needed to store XML documents in the database I defined the column type as LONG RAW. Then I was able to stream the data into the table by using the following:
      PreparedStatement statement = connection.prepareStatement("insert into DOCUMENTSTORE values(?,?)");
      ByteArrayInputStream stream = new ByteArrayInputStream(documentData);
      statement.setBinaryStream(1, stream, documentData.length);

To get the data out of the table I used the following:
      connection = this.getConnection();
      statement = connection.prepareStatement("select DOCUMENT from DOCUMENTSTORE where ID = ?");
      statement.setObject(1, primaryKey);
      byte[] documentData = null;
      ResultSet result = statement.executeQuery();
      if (result.next()) {
        documentData = result.getBytes(1);

From: soussou97 <dboussebha@yahoo.fr> [mailto:soussou97 <dboussebha@yahoo.fr>]
Sent: Friday, September 29, 2006 5:16 AM
To: user-java@ibatis.apache.org
Subject: Scanning byte array


I have a method which return a byte array from a BLOB (Oracle) :

public static byte[] getBLOB(int id, Connection conn) throws Exception {
ResultSet rs = null;
PreparedStatement pstmt = null;
String query = "SELECT data FROM Table1 WHERE id = ?";
try {
pstmt = conn.prepareStatement(query);
pstmt.setInt(1, id);
rs = pstmt.executeQuery();
Blob blob = rs.getBlob(1);
return blob.getBytes(1, (int) blob.length());
} finally {


I must to scan the byte array position by position for extracting of the
data contained into this array for a display in using a GUI.
Which is the best (performance) solution to implemente this ?


View this message in context: http://www.nabble.com/Scanning-byte-array-tf2356548.html#a6563833
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.