将开发过程中经常用的一些内容片段做个珍藏,下面资料是关于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();}} |