package blob;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import pers.mjn.util.JdbcUtil;
public class BlobTest {
// 把c盘的outman.png图片的数据保存到t_image表中
@Test
public void test1() throws Exception {
String sql = "INSERT INTO t_image (img) VALUES (?)";
Connection conn = JdbcUtil.getConn();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setBlob(1, new FileInputStream("C:/1.png"));
ps.executeUpdate();
JdbcUtil.close(conn, ps, null);
}
// t_image表中的图片数据保存到磁盘中
@Test
public void test2() throws Exception {
String sql = "SELECT * FROM t_image WHERE id = ?";
Connection conn = JdbcUtil.getConn();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setLong(1, 1L);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
Blob blob = rs.getBlob("img");
InputStream in = blob.getBinaryStream();
// 文件拷贝操作
Files.copy(in, Paths.get("D:/2.png"));
}
JdbcUtil.close(conn, ps, rs);
}
}