java向mysql中读写blob

  • Post author:
  • Post category:java


package com.xiyou;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.InputStream;

import java.net.URL;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import com.xiyou.util.JdbcUtil;

//大二进制数据的存取

/*

create database day13;

user day13;

create table blobtest(

id int primary key auto_increment,

content  MEDIUMBLOB

);

*/

public class BlobDemo {



public static void main(String[] args) {



Connection conn = null;



PreparedStatement stmt = null;



ResultSet rs = null;



try{



conn = JdbcUtil.getConnection();



String sql = “select content from blobtest where id=? “;



stmt = conn.prepareStatement(sql);

//


InputStream in = ClobDemo.class.getClassLoader().getResourceAsStream(“man.txt”);

//


Reader reader = new InputStreamReader(in);



stmt.setInt(1,1);



rs=stmt.executeQuery();



if(rs.next()){



InputStream in=rs.getBinaryStream(“content”);



FileOutputStream out=new FileOutputStream(“D:/1.jpg”);



byte buf[]=new byte[1024];



int len=-1;



while((len=in.read(buf))!=-1){



out.write(buf, 0, len);



}



in.close();



out.close();



}



}catch(Exception e){



e.printStackTrace();



}finally{



JdbcUtil.release(rs, stmt, conn);



}



}



private static void saveBlob() {



//向数据库中插入大文本数据



Connection conn = null;



PreparedStatement stmt = null;



ResultSet rs = null;



try{



conn = JdbcUtil.getConnection();



String sql = “insert into blobtest(content) values(?)”;



stmt = conn.prepareStatement(sql);

//


InputStream in = ClobDemo.class.getClassLoader().getResourceAsStream(“man.txt”);

//


Reader reader = new InputStreamReader(in);



URL url = ClobDemo.class.getClassLoader().getResource(“1.jpg”);



String filePath = url.getPath();



File file = new File(filePath);



stmt.setBinaryStream(1, new FileInputStream(file),(int)file.length());//要使用int类型



int num = stmt.executeUpdate();



if(num>0)



System.out.println(“添加成功”);



}catch(Exception e){



e.printStackTrace();



}finally{



JdbcUtil.release(rs, stmt, conn);



}



}

}



版权声明:本文为wyl_1483061559原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。