In this section, we will discuss about how to insert a blob data into a database table
In this section, we will discuss about how to insert a blob data into a database tableIn this section, we will discuss about how to insert a blob data into a database table. A Blob stores a binary large object in the database table's row. Blob object contains a logical pointer which points to the Blob data, data is not directly stored in the row of the database table. Blob object is valid for the duration of the transaction. The "getBlob()" and "setBlob()" method of ResultSet ,CallableStatement, and PreparedStatement interface , is used for accessing Blob value. Blob was added to java in jdk1.2 .
The Method defined in " java.sql.Blob " interface is as follows--
Return Type Method
Description InputStream getBinaryStream() Retrieves the blob value designated by this blob value as a stream byte[] getBytes(long pos, int length) Retrieve all or part of the blob value that this blob represents as an array of bytes. long length() Returns the no of bytes in the Blob value designated by this Blob object OutputStream setBinaryStream(long pos) Retrieves a stream that can be used to write to the Blob value int setBytes(long pos, byte[] bytes) Write the given array of bytes to the Blob value that this Blob object represent starting at position pos, and returns the no of bytes written void truncate(long len) Truncates the blob value that this blob object represents to be len bytes in len |
Blob data type can further be classified into four types--
deleteblob.java
import java.sql.Blob; import java.sql.ResultSet; import java.sql.PreparedStatement; import java.sql.Connection; import java.io.IOException; import java.io.InputStream; import java.sql.SQLException; import java.sql.DriverManager; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class deleteblob extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { response.setContentType("text/html"); Connection con = null; PreparedStatement ps = null; Integer id = 9; ServletOutputStream out = response.getOutputStream(); out.println("<html><head><title>Delete Blob Example</title></head>"); try { Class.forName("com.mysql.jdbc.Driver"); con =DriverManager.getConnection ("jdbc:mysql://192.168.10.13:3306/ankdb","root","root"); ps = con.prepareStatement("delete from inimage where id = ? "); ps.setInt(1, id); ps.executeUpdate(); out.println("<body><h4><font color='green'> Successfully deleted the blob data of given id </font></h4></body></html>"); } catch (Exception e) { e.printStackTrace(); out.println"<body><h4><font color='red'>File could not be deleted.<br> <br>Exception Thrown:<br> + e.getMessage() + "</font></h4></body></html>"); }finally { ps.close(); con.close(); } } }
OUTPUT