用setBlob往mysql添加不了图片,检查一万遍检查不出问题,求大神教做人

WYK845634621 2018-06-20 09:30:05
使用preparement往mysql里面加图片,连接数据库的getconnection和Release的封装好了,一定没毛病。执行之后,控制台跳出来,但是不报错,去数据库查询一下,没有添加的记录。
另外,单独添加除了图片之外的字段,是可以添加成功的。
柴静.jpg是复制到项目中的。

@Test
public void test() {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
connection = JDBCTools.getConnection();
String sql = "insert into teacher values(?,?,?)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 6);
preparedStatement.setString(2, "柴静");
preparedStatement.setBlob(3, new FileInputStream("柴静.jpg"));
preparedStatement.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}finally {
JDBCTools.Release(preparedStatement, connection);
}
}


运行效果图如下:
...全文
171 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
stacksoverflow 2018-06-21
  • 打赏
  • 举报
回复
相对路径的话这么试试
preparedStatement.setBlob(3, 和柴静.jpg同目录的类名.class.getResourceAsStream("柴静.jpg"));
幽饮烛 2018-06-21
  • 打赏
  • 举报
回复
文件用绝对路径试试。
相对路径会受启动方式、启动位置影响,比较麻烦。
WYK845634621 2018-06-21
  • 打赏
  • 举报
回复
引用 4 楼 stacksoverflow 的回复:
恩,现把异常信息打出来看一下

} catch (Exception e) {
// TODO: handle exception
}


另外,new FileInputStream("柴静.jpg") 这个换成字母名字,然后用全路径试一下。
应该是文件没找到。

更换成绝对路径可以成功,谢谢。
但是为什么相对路径不可以呢
WYK845634621 2018-06-21
  • 打赏
  • 举报
回复
引用 2 楼 zssazrael 的回复:
异常都吞掉了,控制台当然什么都没有。
最大可能的问题是文件不存在。

报这个异常:java.io.FileNotFoundException: 柴静.jpg (系统找不到指定的文件。)
那该怎么解决呢
WYK845634621 2018-06-21
  • 打赏
  • 举报
回复
引用 4 楼 stacksoverflow 的回复:
恩,现把异常信息打出来看一下

} catch (Exception e) {
// TODO: handle exception
}


另外,new FileInputStream("柴静.jpg") 这个换成字母名字,然后用全路径试一下。
应该是文件没找到。


是这个异常:java.io.FileNotFoundException: 柴静.jpg (系统找不到指定的文件。)
地球太平洋 2018-06-21
  • 打赏
  • 举报
回复
把错误打出来吧,应该是文件没找到。
另外,柴静是你的偶像吗?这么喜欢她?
stacksoverflow 2018-06-21
  • 打赏
  • 举报
回复
恩,现把异常信息打出来看一下

} catch (Exception e) {
// TODO: handle exception
}


另外,new FileInputStream("柴静.jpg") 这个换成字母名字,然后用全路径试一下。
应该是文件没找到。
QWERT4745 2018-06-21
  • 打赏
  • 举报
回复
要把捕获的异常打印出来

catch (Exception e) {
            e.printStackTrace();
        }


还有文件路径对了吗,确定图片和java文件在同一文件夹?要不先写成绝对路径试下。
幽饮烛 2018-06-21
  • 打赏
  • 举报
回复
异常都吞掉了,控制台当然什么都没有。
最大可能的问题是文件不存在。
WYK845634621 2018-06-20
  • 打赏
  • 举报
回复
控制台什么也没有

58,451

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧