摘要:“;st=conn.prepareStatement;st.setInt(1,1);rs=st.executeQuery();如果{InputStreamin=rs.getBinaryStream;intlen=0;bytebuffer[]=newbyte[1024];FileOutputStreamout=newFileOutputStream;而{out.write;}在里面close();出来close();}}捕获{e.printStackTrace();}最后{JdbcUtils.release;}}包.itcast。演示;importjava.io。文件importjava.io。文件输入流;importjava.io。文件输出流;importjava.io。输入流;importjava.sql。联系importjava.sql。编制报表;importjava.sql。结果集;importorg.junit。测验importcn.itcast.utils。JdbcUtils;PublicclassDemo2{/**createtabletestblob;*///存储二进制文件@Testpublicvoidadd(){Connectionconn=null;PreparedStatementst=null;ResultSetrs=null;try{conn=JdbcUtils.getConnection();Stringsql=“insertintotestblobvalues(?
package cn.itcast.demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import cn.itcast.utils.JdbcUtils;
public class Demo2 {
/**
create table testblob
(
id int primary key auto_increment,
image longblob
);
*/
//向 Mysql数据库中存储二进制文件
@Test
public void add(){
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try{
conn = JdbcUtils.getConnection();
String sql = "insert into testblob(image) values(?)";
st = conn.prepareStatement(sql);
String path = Demo2.class.getClassLoader().getResource("01.jpg").getPath();
st.setBinaryStream(1, new FileInputStream(path), (int) new File(path).length());
int num = st.executeUpdate();
if(num>0){
System.out.println("插入成功!!");
}
}catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtils.release(conn, st, rs);
}
}
@Test
public void read(){
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try{
conn = JdbcUtils.getConnection();
String sql = "select image from testblob where id=?";
st = conn.prepareStatement(sql);
st.setInt(1, 1);
rs = st.executeQuery();
if(rs.next()){
InputStream in = rs.getBinaryStream("image");
int len = 0;
byte buffer[] = new byte[1024];
FileOutputStream out = new FileOutputStream("c:\1.jpg");
while((len=in.read(buffer))>0){
out.write(buffer,0, len);
}
in.close();
out.close();
}
}catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtils.release(conn, st, rs);
}
}
}
package cn.itcast.demo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import cn.itcast.utils.JdbcUtils;
public class Demo2 {
/**
create table testblob
(
id int primary key auto_increment,
image longblob
);
*/
//向 Mysql数据库中存储二进制文件
@Test
public void add(){
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try{
conn = JdbcUtils.getConnection();
String sql = "insert into testblob(image) values(?)";
st = conn.prepareStatement(sql);
String path = Demo2.class.getClassLoader().getResource("01.jpg").getPath();
st.setBinaryStream(1, new FileInputStream(path), (int) new File(path).length());
int num = st.executeUpdate();
if(num>0){
System.out.println("插入成功!!");
}
}catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtils.release(conn, st, rs);
}
}
@Test
public void read(){
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try{
conn = JdbcUtils.getConnection();
String sql = "select image from testblob where id=?";
st = conn.prepareStatement(sql);
st.setInt(1, 1);
rs = st.executeQuery();
if(rs.next()){
InputStream in = rs.getBinaryStream("image");
int len = 0;
byte buffer[] = new byte[1024];
FileOutputStream out = new FileOutputStream("c:\1.jpg");
while((len=in.read(buffer))>0){
out.write(buffer,0, len);
}
in.close();
out.close();
}
}catch (Exception e) {
e.printStackTrace();
}finally{
JdbcUtils.release(conn, st, rs);
}
}
}