NEED TO LEARN JAVA? - 5 FREE JAVA VIDEO COURSES - CLICK HERE - https://goo.gl/7i95F8
View more videos on my "Java JDBC Tutorial" Playlist: http://goo.gl/crT4nS
Download Java Source Code: http://www.luv2code.com/?p=1057
Follow Me on Twitter: https://twitter.com/luv2codetv
Please SUBSCRIBE to this channel: https://www.youtube.com/user/luv2codetv?sub_confirmation=1
In this video tutorial we will learn how to use JDBC to read and write BLOB with MySQL.
Time - 00:00
Hi, this is Chad (Shod) with luv2code.com. Welcome back to another tutorial on Java JDBC. In this video we're going to learn how to read and write BLOBs. For this tutorial we're going to use the employees table. I have a SQL script that will create the table and add sample data for you. You can download it from the link below. The file is sql/table-setup.sql.
Time - 00:28
So what exactly is a BLOB? Well a BLOB is basically binary data that we store in the database. You normally use BLOBs to keep track of documents, images, audio, or any other binary object that you have. Note that not all databases have support for BLOBs. In this example we’re going to make use of MySQL and they have BLOB support.
Time - 00:48
On this slide we will learn how to create a BLOB column. So when we create a table in MySQL we add a column with the BLOB data type. On this slide I want to learn how to write a BLOB to a database. For this example I'm going to add a resume for an employee. I'm going to read a local PDF file and I'll take that file and update the database with the binary data that's the actual content of PDF file. Let's walk through the code.
Time - 01:17
At the beginning I’ll set up a SQL statement. I’ll say update employees set resume equals to question mark where the email address equals [email protected]
We’re only going to make a change for this John Doe employee, set up a prepared statement, and then I go, we’re going to create a file that's an actual handle to the local file sample_resume.pdf. Then I’ll set, on my statement I’ll set the binary stream, that first parameter for the resume comma the input. That's the input stream I have for that file. Then I actually call my statement .executeUpdate. That will actually update the database with the binary data.
Time - 01:54
All right so let's switch over to Eclipse and let’s look at a very simple demo. I have a program called WriteBlobDemo. In this program we're going to actually read a resume from a local file system and write it as a BLOB to the database. I’ll walk through the code here. The first thing we do is we get a connection to the database. We prepare a statement. We're going to update employees, set resume equals to question mark where email equals [email protected]
So we’re going to update the resume for John Doe.
Time - 02:22
Then I’ll move down, I’ll set up a file handle for this file sample_resume.pdf. I’ll set up an input stream on that file and then I’ll set that as the parameter for our binary stream for our prepared statement. Then I’ll move through and I’ll actually do an execute update. This will actually store this binary file from the file system into the actual database column.
Time - 02:47
I just ran the application and here's the output of the program. So beginning it says that it’s reading the file and gives me the full path to the file just for sanity sake, I know which file is actually reading. Then it tells me that it's storing the resume in the database for our employee [email protected]
and then it says that it completed successfully. Excellent.
Time - 03:10
Now let's move over to MySQL tool and verify this. I'll take a look at the employees there in the database right now. l’ll run this query select * from employees and I'll get a list of the actual employees. Notice here for John Doe there’s an entry here for a resume, there's a BLOB entry. Note all the other entries are null. So we have a BLOB entry here. I can select this entry. I can right click. I can say, “Open Value in Editor” and it’s going to show me this BLOB. Again, it's a binary large object so we see all this binary data. Actually it should be displayed as hex.
Time - 03:50
Instead of looking at it in this fashion there's a tab here called “Image.” I can select this tab and now it'll actually show me this image or the actual data as a PDF that I can view. This is the actual PDF document for this employee, John Doe. This looks really good. We know that we were successful in storing the BLOB in the actual database.
Time - 04:18
Now that we know how to write BLOBs in the database let's learn how to read a BLOB from the database. In this example I'm going to read the employee’s resume from the database as a BLOB and then store it as a file on my local files system. Let's walk through the code.
[snip] .... see the Transcripts tab for details.