存txt文件到Mysql数据库(blob数据类型),并下载到本地

建立数据库ecg建立表test字段h_data数据类型(longblob)

 

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Blob;
import java.sql.Connection;
  import java.sql.DriverManager;
import java.sql.PreparedStatement;
  import java.sql.ResultSet;
 import java.sql.SQLException;
import java.sql.Statement;


public class ecg  {
    public static void main(String[] args) {
                 //声明Connection对象
                 Connection con;
                 //驱动程序名
                 String driver = "com.mysql.jdbc.Driver";
             //URL指向要访问的数据库名mydata
                 String url = "jdbc:数据库地址";
                 //MySQL配置时的用户名
                 String user = "数据库账号";
                 //MySQL配置时的密码
                String password = "数据库密码";
                 //遍历查询结果集
                 try {
                     //加载驱动程序
                     Class.forName(driver);
                     //1.getConnection()方法,连接MySQL数据库!!
                     con = DriverManager.getConnection(url,user,password);
                     if(!con.isClosed())
                         System.out.println("Succeeded connecting to the Database!");     

//保存txt文件到数据库         
//                     File file = new File("F://1.txt");
//                     FileInputStream fis = new FileInputStream(file);
//                     String sql1="insert into test (h_data,id) values (?,?)";
//                     PreparedStatement preparedStatement1 = con.prepareStatement(sql1);
//                     preparedStatement1.setBinaryStream(1, fis,(int)file.length());
//                     preparedStatement1.setInt(2, 2);
//                     preparedStatement1.executeUpdate();
//从数据库中下载到本地             
                     Statement stmt = con.createStatement();  
                     ResultSet rs = stmt.executeQuery("select h_data from test where id =2");  
                     while(rs.next()){  
                     Blob blob = rs.getBlob(1);  
                     InputStream in = blob.getBinaryStream(); 
                     
                     FileOutputStream fout = new FileOutputStream("F://2.txt"); 
                     int b = -1;
                     while((b=in.read())!=-1){
                     fout.write(b);
                     }
                    }
                    
           
                              
                     System.out.println("保存成功");

                     con.close();
                 } catch(ClassNotFoundException e) {   
                     //数据库驱动类异常处理
                    System.out.println("Sorry,can`t find the Driver!");   
                     e.printStackTrace();   
                    } catch(SQLException e) {
                     //数据库连接失败异常处理
                     e.printStackTrace();  
                 }catch (Exception e) {
                     // TODO: handle exception
                    e.printStackTrace();
                }finally{
//                     System.out.println("数据库数据成功获取!!");
                 }
                 
                 
                 
            }

    

}
 

你可能感兴趣的:(存txt文件到Mysql数据库(blob数据类型),并下载到本地)