package cn.lnu.demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.Test;
import cn.lnu.utils.JdbcUtils;
/*���ı����ֽ���ʱ�ö�д*/
/*
create table testblob
(
id varchar(40) primary key,
image blob
);
* */
public class Demo2 {
@Test
public void insert() throws SQLException, FileNotFoundException {
Connection conn=null;
PreparedStatement st=null;
ResultSet rs=null;
try{
conn=JdbcUtils.getConnection();
String sql="insert into testblob(id,image) values(?,?)";
st=conn.prepareStatement(sql);
st.setString(1, "2");
File file=new File("src/dog.bmp");
FileInputStream in=new FileInputStream(file);
st.setBinaryStream(2, in, (int) file.length());
int num=st.executeUpdate();
if(num>0){
System.out.println("���������ͼƬ�ɹ���");
}
}finally{
JdbcUtils.release(conn, st, rs);
}
}
@Test
public void read() throws SQLException, IOException {
Connection conn=null;
PreparedStatement st=null;
ResultSet rs=null;
try{
conn=JdbcUtils.getConnection();
String sql="select id,image from testblob where id='1'";
st=conn.prepareStatement(sql);
rs=st.executeQuery();
if(rs.next()){
InputStream in=rs.getBinaryStream("image");
OutputStream out=new FileOutputStream("c:\\1.jpg");
try{
int len=0;
byte buffer[]=new byte[1024];
while((len=in.read(buffer))>0){
out.write(buffer, 0, len);
}
}finally{
if(in!=null) in.close();
if(out!=null) out.close();
}
}
}finally{
JdbcUtils.release(conn, st, rs);
}
}
}