`
zhou_hong_liang
  • 浏览: 97353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 操作oracle表中的图片

    博客分类:
  • JAVA
阅读更多
package com;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBBLOG {
	static Connection connection;

	static String url = "jdbc:oracle:thin:@10.12.100.22:1521:liang";

	static String username = "scott";

	static String password = "tiger";

	static PreparedStatement ps;

	static ResultSet rs;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		getConnection();
		try {
			writeImg("f:\\a.jpg","4");
			readImg("f:\\b.jpg","4");
			connection.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static Connection getConnection() {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
			connection = DriverManager.getConnection(url, username, password);
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return connection;
	}

	// 图片添加到数据库
	public static void writeImg(String url,String id) throws FileNotFoundException,
			SQLException {
		File in_f = new File(url);
		FileInputStream f_in = new FileInputStream(in_f);
		String sql = "INSERT INTO T_IMG VALUES (?,?)";
		ps = connection.prepareStatement(sql);
		ps.setString(1, id);
		ps.setBinaryStream(2, f_in, (int) in_f.length());
		ps.executeUpdate();
		connection.commit();
		ps.close();
	}

	public static void readImg(String url,String id) throws SQLException, IOException {
		File out_f = new File(url);
		OutputStream os = new FileOutputStream(out_f);
		String sql = "SELECT * FROM T_IMG WHERE ID = "+id;
		InputStream in = null;
		ps = connection.prepareStatement(sql);
		rs = ps.executeQuery();
		while (rs.next()) {
			in = rs.getBinaryStream("IMG");
			byte[] b = new byte[in.available()];
			int len = -1;
			while ((len = in.read(b)) != -1) {
				os.write(b, 0, len);
			}
		}
		os.flush();
		os.close();
		if (in != null)
			in.close();
	}
}

分享到:
评论

相关推荐

    java中操作oracle的CLOB字段精解

    Java 中操作 Oracle 的 CLOB 字段精解 Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)...

    JAVA操作Oracle blob类型

    这篇博客文章“JAVA操作Oracle blob类型”将深入探讨如何在Java应用程序中有效地管理和操作Oracle数据库中的BLOB字段。本文将详细讲解相关知识点,包括连接数据库、插入BLOB数据、查询BLOB数据以及更新和删除BLOB...

    Oracle 操作脚本精华(java操作实例)

    首先,关于Java操作Oracle Blob数据类型,主要涉及以下知识点: 1. **Oracle JDBC驱动**:Java连接Oracle数据库通常使用Oracle提供的JDBC驱动,如ojdbc14.jar或更高版本。通过`Class.forName()`加载驱动,然后使用`...

    批量导出ORACLE数据库BLOB字段生成图片

    Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...

    图片批量导入oracle数据库

    总之,批量导入图片到Oracle数据库是一项涉及到Java编程、JDBC连接、SQL操作以及文件处理的任务。掌握这些技能对于处理大量图片数据的数据库应用至关重要,无论是Web应用、数据分析还是其他领域。通过理解和实践,你...

    java实现 BLOB图片大文件在oracle中的存储和查找

    总的来说,"java实现BLOB图片大文件在Oracle中的存储和查找"是一个很好的实践项目,它涵盖了Java编程、数据库操作和MVC设计模式等多个重要知识点。通过这个项目,你可以深入理解JDBC的使用,提升数据库操作技能,并...

    图书馆管理系统(java+oracle)

    4. **数据库脚本**:`.sql` 文件,用于在Oracle数据库中创建表结构、初始化数据或执行其他数据库操作。 5. **数据库驱动**:`ojdbc.jar` 或其他Oracle数据库驱动,使Java程序能够与Oracle DB通信。 6. **可执行文件*...

    Java与Oracle大字段读写(含代码)

    在Java中,我们可以使用JDBC(Java Database Connectivity)API来与Oracle数据库进行通信,其中`oracle.jdbc.driver.OraclePreparedStatement`和`oracle.jdbc.OracleResultSet`类提供了对BLOB字段的操作接口。...

    java操作pageoffice自带印章连接oracle数据库

    总的来说,Java操作PageOffice自带印章连接Oracle数据库是企业级应用中的常见需求,通过合理地使用PageOffice提供的API和Java的数据库连接功能,可以有效地完成这一任务。在开发过程中,注意代码的可读性和维护性,...

    利用Java向Oracle中插入图片(BLOB)文件.doc

    2. **获取JDBC驱动**:使用Java操作Oracle数据库需要对应的JDBC驱动,通常为`classes12.jar`或`ojdbc*.jar`文件。如果没有该文件,可以在Oracle官方文档中下载,或者从安装目录下找到。例如,在Oracle 10g中,该文件...

    java存取oracle中的COLB类型数据.docx

    ### Java存取Oracle中的CLOB类型数据 #### 一、CLOB类型简介及处理方法 ...通过上述步骤,我们可以有效地在Java应用程序中处理Oracle数据库中的CLOB类型数据,实现对大量文本数据的高效读写操作。

    利用Java语言实现PB对Oracle中Blob类型的动态操作.pdf

    利用Java语言实现PB对Oracle中Blob类型的动态操作 摘要:本文介绍了一种利用Java语言实现PB对Oracle中Blob类型的动态操作的方法。该方法通过使用Java存储过程和Oracle中的JDBC来实现对Blob类型数据的动态访问。 ...

    获取oracle相关信息

    通过这些图片,学习者可以直观地了解Oracle数据库管理和Java编程在实践中的应用。 总的来说,Oracle数据库、Java编程、视图、过程包和表是IT行业中不可或缺的知识点,它们在数据管理、应用程序开发和系统集成中起着...

    oracle中的BLOB(照片)转换到mysql中

    1. **查询BLOB数据**:使用SQL查询语句从Oracle数据库中选择含有BLOB字段的照片记录。例如: ```sql SELECT photo_blob FROM photos WHERE id = ; ``` 这里`photo_blob`是BLOB类型的列,`<photo_id>`是你想获取...

    oracle的数据类型_java中Clob型详细用法_struts中实现图片上传功能

    在 Java 中,我们可以使用 `oracle.sql.CLOB` 类来操作 Oracle 数据库中的 CLOB 型数据。以下是一个简单的示例,展示如何插入、读取 CLOB 值: ```java import java.io.BufferedReader; import java.io.IOException...

    oracle触发器实现二维码

    描述中提到,这个资源是通过Java代码生成二维码图片,然后利用触发器将生成的二维码图片转换为BLOB(Binary Large Object)格式,并将其存储到Oracle数据库的表中。BLOB类型字段用于存储非结构化的二进制数据,非常...

    图书进销存管理-java+oracle

    在这个项目中,开发者利用Java的面向对象特性和强大的Oracle数据库管理系统,构建了一个高效且实用的图书管理软件。 1. **Java技术**:Java是一种广泛使用的编程语言,具有跨平台、安全性高和可移植性强等特点。在...

    从oracle数据库中存取图片

    本篇文章将基于提供的代码片段来详细解析如何使用Java语言实现从Oracle数据库中存储与读取图片的功能。 #### 一、创建存储图片的表 在开始之前,我们需要在Oracle数据库中创建一个可以存储图片数据的表。根据描述...

    Java存取OracleBlob字段,图片存储,Blob和BLOB的问题,Clob,oracle.docx

    在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `oracle.sql.BLOB`。 1. **`java.sql.Blob`**: - 这是一个 Java 接口...

    java处理图片背景颜色的方法

    在标签中,作者列出了四个关键词:“java 处理图片背景颜色”、“java 图片背景颜色替换”、“java 图片背景颜色更改”、“java 蓝底寸照批量转换为白底”,这些关键词都与 Java 处理图片背景颜色相关。 在部分内容...

Global site tag (gtag.js) - Google Analytics