日期:2014-05-16  浏览次数:20518 次

心得6--JDBC回顾-如何处理大文本和图像声音案例分析

1.  基础知识回顾

基本概念:大数据也称之为LOB(Large Objects),LOB又分为:clob(用于存储大文本,如:Text)和blob(blob用于存储二进制数据,例如图像、声音、二进制文等)

对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:

?       TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT

?       TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB

2. 具体案例分析

(1)运用jdbc插入图片(二进制)和输出图片

packagecom.bigText;

 

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.InputStream;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importcom.Db.DbManager;

 

publicclass BlobTest {

   public void insert(){

      Connection con =DbManager.getConnection();

      PreparedStatement st = null;

      try {  

           String sql = "insert into dbBlob(image) values(?)";

              st = con.prepareStatement(sql); 

                File f = new File("src/1.jpg");

                FileInputStream fs = newFileInputStream(f);

               st.setBinaryStream(1,fs,f.length()); //注意length长度须设置,并且设置为int型

           int i = st.executeUpdate(); 

           if(i>0){

              System.out.println("插入成功!!");

           }

        } catch (Exception e) {

        // TODO Auto-generated catch block

          e.printStackTrace();

      }finally{

        DbManager.closeDB(con, st,