这是错误的
"Exception in thread "main" java.lang.AbstractMethodError:
Method com/mysql/jdbc/ServerPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V is abstract
at com.mysql.jdbc.ServerPreparedStatement.setBinaryStream(ServerPreparedStatement.java)
at jdbc.demo.main(demo.java:21)".
我已将我的代码段添加如下,您能否告诉我一些我做错了什么?
import java.io.File;
import java.io.FileInputStream;
import java.sql.*;
public class demo{
public static void main(String args[]) throws Exception{
String url = "jdbc:mysql://localhost:3306/tutorial1";
String name = "root";
String pass = "rubyonrails$";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url,name,pass);
String sql = "update binarylargeobject set resume=? where id=1";
PreparedStatement st = con.prepareStatement(sql);
File file = new File("C:\\Users\\USER\\Desktop\\vid.pdf");
FileInputStream input = new FileInputStream(file);
st.setBinaryStream(1,input);
st.executeUpdate();
}
}
答案 0 :(得分:1)
AbstractMethodError
意味着您使用的MySQL JDBC Connector / J驱动程序尚未实现方法setBinaryStream()
。
当我试图深入挖掘here时,我发现了一篇很好的文章,你必须看看它。
从上面的网站和其他各方观察到的是使用MySQL JDBC Connector / J版本而非5.1.36(JDBC类型4驱动程序)。
希望您能够通过上述建议解决您的问题。