一:写入到表中方法如下:
1:先往表中插入数据,insert into tablename (BLOB字段名) values(empty_blob())
2:取出BLOB写入文件在更新到数据库
if (result.next()) {
BLOB blob = (BLOB) result.getBlob("BLOB字段名");
OutputStream out = blob.getBinaryOutputStream();
//将file转换成byte[] 二进制文件filedata
out.write(filedata);
out.flush();
out.close();
//更新BLOB
String updatesql = "update tablename set BLOB字段名 = ? where 条件";
PreparedStatement ps = conn.prepareStatement(updatesql);
ps.setBlob(1, blob);
ps.executeUpdate();
}
3:从表中取出BLOB写入到文件
public static File blobToFile(ResultSet result) throws SQLException, IOException{
BLOB blob = (BLOB) result.getBlob("BLOB字段名");
File file=new File("C:\\Users\\Administrator\\Desktop\\test.text");
FileOutputStream output = new FileOutputStream(file);
InputStream input = blob.getBinaryStream();
byte[] buffer = new byte[blob.getBufferSize()];
int len = 0;
while ((len = input.read(buffer)) != -1) {
output.write(buffer, 0, len);
}
input.close();
output.flush();
output.close();
return file;
}