查看原文
其他

Java教程-在Oracle数据库中存储图像的示例

点击关注👉 鸭哥聊Java 2023-08-31
整理:Java面试那些事儿

您可以通过使用PreparedStatement接口在Java中将图像存储在数据库中。

PreparedStatement的setBinaryStream()方法用于将二进制信息设置到参数索引中。


setBinaryStream方法的签名


setBinaryStream()方法的语法如下:


1) public void setBinaryStream(int paramIndex, InputStream stream) throws SQLException 2) public void setBinaryStream(int paramIndex, InputStream stream, long length) throws SQLException

为了将图像存储到数据库中,表中使用BLOB(Binary Large Object)数据类型。例如:
CREATE TABLE "IMGTABLE"    (  "NAME" VARCHAR2(4000),     "PHOTO" BLOB    )  / 

让我们编写jdbc代码将图像存储在数据库中。在这里,我们使用d:\d.jpg作为图像的位置。您可以根据图像的位置进行更改。

专属福利

👉点击领取:Java资料合集,650G!


在数据库中存储图像的Java示例

import java.sql.*; import java.io.*; public class InsertImage { public static void main(String[] args) { try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con=DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe","system","oracle"); PreparedStatement ps=con.prepareStatement("insert into imgtable values(?,?)"); ps.setString(1,"sonoo"); FileInputStream fin=new FileInputStream("d:\g.jpg"); ps.setBinaryStream(2,fin,fin.available()); int i=ps.executeUpdate(); System.out.println(i+" records affected"); con.close(); }catch (Exception e) {e.printStackTrace();} } }

如果您查看表,记录已存储在数据库中,但是图像将不会显示。为了显示图像,您需要从数据库中检索图像,我们将在下一页中介绍这个过程。


最近技术热文


我就知道你会点赞+“在看”

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存