java读取oracle数据库中blob字段详解编程语言
2023-06-13 09:20:41 时间
public static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
public static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
public static final String USERNAME = "test";
public static final String PASSWORD = "test";
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
/**
* @param args
public static void main(String[] args) {
if (download()) {
System.out.println("图片下载成功");
} else {
System.out.println("图片下载失败");
public static boolean download() {
Connection conn = getConnection();
Statement sta = null;
ResultSet rs = null;
try {
sta = conn.createStatement();
// image字段为BLOG字段
String sql = "Select name, image from test_img where id=1";
rs = sta.executeQuery(sql);
while (rs.next()) {
// 输出文件名
String name = rs.getString("name");
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("image");
String filepath = "D:/" + name + ".jpg";
System.out.println("输出文件路径为:" + filepath);
InputStream input = blob.getBinaryStream();
FileOutputStream out = new FileOutputStream(filepath);
int len = (int) blob.length();
byte buffer[] = new byte[len];
while ((len = input.read(buffer)) != -1) {
out.write(buffer, 0, len);
out.close();
input.close();
} catch (SQLException e) {
e.printStackTrace();
return false;
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
try {
rs.close();
sta.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
return false;
return true;
/**
* 获得Connection
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
return conn;
}
存入图片Blob参见:Oracle JDBC存入图片Blob
作者:blog.ytso.com
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/14309.html
cjavaoracle相关文章
- Linux安装Oracle数据库的指导步骤(linux装oracle)
- Oracle数据库外键约束技术实现(oracle外键约束)
- Oracle函数实现变量赋值(oracle函数赋值)
- Oracle数据库字母排序算法(oracle字母排序)
- Oracle数据库技术之并集结合(oracle并集)
- 仰望 Oracle,走向意义之路(oracle意思)
- 使用Oracle触发器简化数据库处理(oracle触发器类型)
- 熟悉Oracle触发器的四种类型(oracle触发器类型)
- Oracle数据库的性能提高:探讨如何优化吞吐量(oracle吞吐量)
- 模式Oracle 数据库:如何关闭归档模式(oracle关闭归档)
- 基于Oracle数据库的合理规划(oracle数据库规划)
- Oracle数据库:给出智慧答案(oracle数据库答案)
- Oracle数据库全量增量更新的解决方案(oracle全量增量更新)
- Oracle 领域冷风之洗礼(oracle冷被)
- 解决Oracle 1326的完美方案(oracle-1326)
- 云端AWS和企业级数据库 Oracle的尝试之路(aws oracle)
- 使用Grid登录Oracle数据库,实现更高效捷的访问(grid登录oracle)
- 错误基于8080端口的Oracle数据库出现错误(8080出现oracle)
- 应用DBF文件导入至Oracle数据库(dbf导入到oracle)
- Oracle主键创建挫折故障排查与解决(oracle主键创建失败)
- Oracle数据库实现优势和成就(oracle优点体现)
- 深入解析Oracle数据库中实体表(oracle中实体表)
- 行为Oracle中使用列别名的默认行为(oracle中列别名默认)
- Oracle两表之间建立关联关系的实现(oracle两表建关联)
- Oracle VM下妙用截图,让操作办事无比顺畅(oracle vm 截图)
- 使用ORACLE TNS文件构建有效数据库连接(oracle tsn文件)
- cloud云端Oracle数据库连接无限可能(oracle dbcon)
- Oracle警告准备好迎接下一步的闪退(oracle下一步闪退)