java大对象存取的简单实现的代码

将开发过程中经常用的一些内容片段做个珍藏,下面资料是关于java大对象存取的简单实现的内容。

package info.itlanguageexpress.LargeObject;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySqlLargeObjectAccess {

public static String DRIVER = "org.gjt.mm.mysql.Driver";
public static String USER = "root";
public static String PASSWORD = "your password";

public static void main(String[] args) throws Exception {
    Connection conn = null;
    try {
        Class.forName(DRIVER);
        conn = DriverManager.getConnection(URL, USER, PASSWORD);
        insertWordFileToMySql(conn);
        fetchWordFileFromMySql(conn);
    } catch (Exception ex) {
        ex.printStackTrace(System.out);
    } finally {
        try {
            conn.close();
        } catch (Exception ex) {
        }
    }
}
public static void insertWordFileToMySql(Connection conn)
        throws SQLException, IOException {
    PreparedStatement pstm = conn
            .prepareStatement("insert into wordInputTest values (?,?)");
    pstm.setString(1, "docx1");
    InputStream in = new FileInputStream("F:" + File.separator
            + "test1.docx");
    pstm.setBinaryStream(2, in, in.available());
    pstm.executeUpdate();
    pstm.close();
}
public static void fetchWordFileFromMySql(Connection conn)
        throws SQLException, IOException {
    PreparedStatement pstm = conn
    pstm.setString(1, "docx1");
    ResultSet rs = pstm.executeQuery();
    int count = 1;
    while(rs.next()) {
        InputStream in = rs.getBinaryStream("file");
        FileOutputStream out = new FileOutputStream("F:" + File.separator + "testcopy" + count + ".docx");
        byte[] b = new byte[1024];
        int len = 0;
        while ((len = in.read(b)) != -1) {
            out.write(b, 0, len);
            out.flush();
        }
        out.close();
        in.close();
        count++;
    }
    rs.close();
    pstm.close();
}

}

猜你喜欢

转载自blog.51cto.com/14147980/2386053
今日推荐