java.lang.AbstractMethodError
来源:互联网 发布:手机芯片性能测试软件 编辑:程序博客网 时间:2024/05/17 22:15
今天在向mysql数据库中写入大文本时遇到了一个bug
Exception in thread “main” java.lang.AbstractMethodError: Method com/mysql/jdbc/PreparedStatement.setCharacterStream(ILjava/io/InputStream;J)V is abstract
at com.mysql.jdbc.PreparedStatement.setBlob(PreparedStatement.java)
下面贴上源码
Connection connection = DBUtils.getConn(); String sql = "insert into des values(?,?)"; PreparedStatement ps = connection.prepareStatement(sql); ps.setString(1, UUID.randomUUID().toString()); File file = new File("f://test.txt"); Reader reader = new FileReader(file); ps.setCharacterStream(2, reader, file.length());// FileInputStream in=new FileInputStream(file);// ps.setBinaryStream(2,in,file.length()); ps.executeUpdate();
折腾许久,终于明白原来是数据库驱动未更新,mysql的jar中没有ps.setBinaryStream(int,InputStream,long)的方法(只有最后一个参数为int的),而sql包有long的,file.length也是long型,所以编译不报错,运行报错。
知道原因就很好解决了,只需要加一个强转
ps.setCharacterStream(2, reader, (int)file.length());就ok啦,当然更新mysql驱动也是一个办法,不过笔者有点懒没去试,据说最新版的是可以支持的,看官们试试呗
0 0
- java.lang.AbstractMethodError翻译
- java.lang.AbstractMethodError问题
- java.lang.AbstractMethodError
- java.lang.AbstractMethodError
- java.lang.AbstractMethodError: ... Ljava/lang/String
- java.lang.AbstractMethodError: oracle.jdbc.driver...解决方法
- javax.servlet.ServletException: java.lang.AbstractMethodError
- Exception in thread "main" java.lang.AbstractMethodError
- javax.servlet.ServletException: java.lang.AbstractMethodError: getJspApplicationContext
- java.lang.AbstractMethodError: 的一种错误可能
- maven+springmvc+hbaseTemplate java.lang.AbstractMethodError
- java.lang.AbstractMethodError(Hibernate & JPA)
- flume:java.lang.AbstractMethodError:getMaxBackOffSleepInterval()J
- Spark运行异常:java.lang.AbstractMethodError
- 解决问题:java.lang.AbstractMethodError: com.microsoft.jdbc.base.BasePreparedStatement.getParameterMetaData...
- java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.supportsGetGeneratedKeys()
- java.lang.AbstractMethodError: oracle.jdbc.driver.OracleDatabaseMetaData.getJDBCMajorVersion()I异常
- Tomcat启动错误 Caused by: java.lang.AbstractMethodError
- Git的学习与常用操作
- Android Studio 快捷键
- 单行文本,在内容较多的时候,实现左右滑动的方案
- 用VS2010建立web三层以上架构的解决方案
- Swift-函数
- java.lang.AbstractMethodError
- java集合------HashTable
- 树的最大独立集
- iOS 9.0更新碰到:第三方库不包含bitcode
- Linux rpm 命令参数使用详解[介绍和应用]
- Linux上安装多版本Python,easy_install和pip
- 黑白图像—————— 八连块
- C#之冒泡排序(委托)
- shell脚本报错问题: -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory