使用jdbc代码将文件存储到MySQL

时间:2014-07-19 07:20:54

标签: java jdbc

我无法通过下面的jdbc代码将图像存储到MySQL数据库中:

package com.jlcindia.jdbcfiles;

import java.sql.*;
import java.io.*;

public class Test1 {
public static void main(String []args){
    Connection con=null;
    PreparedStatement ps=null;

    try {
        Class.forName("com.mysql.jdbc.Driver");
            con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jlcstudents","root","garima");
        ps=con.prepareStatement("insert into filetest (cno,file) values(1,?)");

        File image=new File("C:\\html images\\MickeyMouse.jpg");

        FileInputStream fis=new FileInputStream(image);
        ps.setBinaryStream(2, fis);
        ps.execute();
        System.out.println("Record Inserted");

    } catch (Exception e) {
        e.printStackTrace();
    }
    finally{
        try {
            if(ps!=null)
                ps.close();
            if(con!=null)
                con.close();
        } catch (Exception e2) {
            e2.printStackTrace();
        }
    }
  }
}

控制台错误如下:

Exception in thread "main" java.lang.AbstractMethodError: 
  com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
  at com.jlcindia.jdbcfiles.Test1.main(Test1.java:19)

1 个答案:

答案 0 :(得分:1)

据我所知,该错误意味着特定方法尚未实现,您可以尝试将文件转换为字节数组并使用     ps.setBytes(<Byte Array>)  相反,如果该列设置为存储BLOB数据