Java::How to read a xml format of blob data from the mysql database

If you would like to read a blob data from JAVA, there would be many ways. However, if the data is XML format of properties, then you can follow below simple coding to excise in your programming.  First, you have to make blob data into byte array stream. Then, it should be load as a properties by using loadFromXML that will simplify your whole process to get your XML format of BLOB data.

 

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.sql.Blob;
import java.sql.SQLException;
import java.util.Properties;

public class Utils {

public static Properties getPropertyFromBlob(Blob blob){

Properties p = new Properties();

try {

if(blob != null){

int blobLength =(int) blob.length();
byte[] readbb = blob.getBytes(1, blobLength);
if( readbb !=null){
p.loadFromXML(new ByteArrayInputStream(readbb));
}
//release the blob and free up memory. (since JDBC 4.0)
blob.free();

}

} catch (SQLException sqle){

} catch (IOException ioe){

}

return p;

}

}

 

private void processPropertyBlob(Blob propertyBlob, Product product){

Properties productAttributes;

productAttributes = Utils.getPropertyFromBlob(propertyBlob);

if(productAttributes != null && product != null){

if(productAttributes.getProperty(“COLOR”) != null)
product.setAttributeColor(productAttributes.getProperty(“COLOR”));

}

}