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

您可以通过使用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)数据类型。例如:

1. CREATE TABLE "IMGTABLE"  
2.   (  "NAME" VARCHAR2(4000),  
3.   "PHOTO" BLOB 
4.   ) 
5. / 

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

在数据库中存储图像的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();} 
    } 
}

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

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想