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 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)...
这篇博客文章“JAVA操作Oracle blob类型”将深入探讨如何在Java应用程序中有效地管理和操作Oracle数据库中的BLOB字段。本文将详细讲解相关知识点,包括连接数据库、插入BLOB数据、查询BLOB数据以及更新和删除BLOB...
首先,关于Java操作Oracle Blob数据类型,主要涉及以下知识点: 1. **Oracle JDBC驱动**:Java连接Oracle数据库通常使用Oracle提供的JDBC驱动,如ojdbc14.jar或更高版本。通过`Class.forName()`加载驱动,然后使用`...
Oracle数据库在存储大对象(BLOB)数据时,提供了高效且灵活的方式,使得二进制数据如图片、文档等能够安全地保存在数据库中。批量导出Oracle数据库中的BLOB字段生成图片,是一项常见的需求,尤其对于那些需要将...
总之,批量导入图片到Oracle数据库是一项涉及到Java编程、JDBC连接、SQL操作以及文件处理的任务。掌握这些技能对于处理大量图片数据的数据库应用至关重要,无论是Web应用、数据分析还是其他领域。通过理解和实践,你...
总的来说,"java实现BLOB图片大文件在Oracle中的存储和查找"是一个很好的实践项目,它涵盖了Java编程、数据库操作和MVC设计模式等多个重要知识点。通过这个项目,你可以深入理解JDBC的使用,提升数据库操作技能,并...
4. **数据库脚本**:`.sql` 文件,用于在Oracle数据库中创建表结构、初始化数据或执行其他数据库操作。 5. **数据库驱动**:`ojdbc.jar` 或其他Oracle数据库驱动,使Java程序能够与Oracle DB通信。 6. **可执行文件*...
在Java中,我们可以使用JDBC(Java Database Connectivity)API来与Oracle数据库进行通信,其中`oracle.jdbc.driver.OraclePreparedStatement`和`oracle.jdbc.OracleResultSet`类提供了对BLOB字段的操作接口。...
总的来说,Java操作PageOffice自带印章连接Oracle数据库是企业级应用中的常见需求,通过合理地使用PageOffice提供的API和Java的数据库连接功能,可以有效地完成这一任务。在开发过程中,注意代码的可读性和维护性,...
2. **获取JDBC驱动**:使用Java操作Oracle数据库需要对应的JDBC驱动,通常为`classes12.jar`或`ojdbc*.jar`文件。如果没有该文件,可以在Oracle官方文档中下载,或者从安装目录下找到。例如,在Oracle 10g中,该文件...
### Java存取Oracle中的CLOB类型数据 #### 一、CLOB类型简介及处理方法 ...通过上述步骤,我们可以有效地在Java应用程序中处理Oracle数据库中的CLOB类型数据,实现对大量文本数据的高效读写操作。
利用Java语言实现PB对Oracle中Blob类型的动态操作 摘要:本文介绍了一种利用Java语言实现PB对Oracle中Blob类型的动态操作的方法。该方法通过使用Java存储过程和Oracle中的JDBC来实现对Blob类型数据的动态访问。 ...
通过这些图片,学习者可以直观地了解Oracle数据库管理和Java编程在实践中的应用。 总的来说,Oracle数据库、Java编程、视图、过程包和表是IT行业中不可或缺的知识点,它们在数据管理、应用程序开发和系统集成中起着...
1. **查询BLOB数据**:使用SQL查询语句从Oracle数据库中选择含有BLOB字段的照片记录。例如: ```sql SELECT photo_blob FROM photos WHERE id = ; ``` 这里`photo_blob`是BLOB类型的列,`<photo_id>`是你想获取...
在 Java 中,我们可以使用 `oracle.sql.CLOB` 类来操作 Oracle 数据库中的 CLOB 型数据。以下是一个简单的示例,展示如何插入、读取 CLOB 值: ```java import java.io.BufferedReader; import java.io.IOException...
描述中提到,这个资源是通过Java代码生成二维码图片,然后利用触发器将生成的二维码图片转换为BLOB(Binary Large Object)格式,并将其存储到Oracle数据库的表中。BLOB类型字段用于存储非结构化的二进制数据,非常...
在这个项目中,开发者利用Java的面向对象特性和强大的Oracle数据库管理系统,构建了一个高效且实用的图书管理软件。 1. **Java技术**:Java是一种广泛使用的编程语言,具有跨平台、安全性高和可移植性强等特点。在...
本篇文章将基于提供的代码片段来详细解析如何使用Java语言实现从Oracle数据库中存储与读取图片的功能。 #### 一、创建存储图片的表 在开始之前,我们需要在Oracle数据库中创建一个可以存储图片数据的表。根据描述...
在处理 Oracle 数据库中的二进制大型对象(Binary Large Object,简称 Blob)时,开发者经常会遇到两个相似但不同的概念:`java.sql.Blob` 和 `oracle.sql.BLOB`。 1. **`java.sql.Blob`**: - 这是一个 Java 接口...
在标签中,作者列出了四个关键词:“java 处理图片背景颜色”、“java 图片背景颜色替换”、“java 图片背景颜色更改”、“java 蓝底寸照批量转换为白底”,这些关键词都与 Java 处理图片背景颜色相关。 在部分内容...