Java 向 MySQL 中插入二进制文件

前置条件:

  1. 数据库能正常使用。
  2. 文件存在。
  3. 驱动 jar 包正常。
  4. 工具类 DbTools 工作正常。

这是 Java 代码片段:

    File file = new File("D:\\temp\\Assignment_2.pdf");
    FileInputStream fis = new FileInputStream(file);
    Connection conn = DbTools.getConn();
    PreparedStatement ps = conn.prepareStatement("insert into chatroom.images values (?,?)");
    ps.setBinaryStream(1, fis, (int) file.length());
    ps.setString(2, file.getName());
    ps.executeUpdate();
    ps.close();
    fis.close();

完整的代码,参附件,或直接浏览这里:

http://git.oschina.net/iridiumcao/iridiumonline/tree/master/dbdemo/src/main/java/info/iridiumcao/db

TODO:

试试这段代码是否适合 Oracle。不通过 JDBC 能否直接用 SQL 插入应该如何做呢?

参考:How can I insert images into a MySql database?