使用的是IBATIS持久层框架。。。
public String queryBlobVal() {
template = sqlMapClientTemplateFactory.getTemplate(DataType.SIGN);
if (StringUtils.isNotEmpty(schemaType)) {
if (schemaType.equals("CZ")) {
model.setSchema(dataSourceManager.getCzSchema());
} else {
model.setSchema(dataSourceManager.getQzSchema());
}
}
//要查询的表和字段,查询时使用IBATIS持久层框架
if (StringUtils.isNotEmpty(tableName) && StringUtils.isNotEmpty(columnName)) {
Map map = (Map) template.queryForObject(SQL_BLOBVAL_ID, model);
Blob blob = (Blob) map.get("BLOBVAL");
InputStream in = null;
try {
if (blob != null && blob.length() > 0) {
in = blob.getBinaryStream();
int byteCount = 0;
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = in.read(buffer)) != -1) {
getResponse().getOutputStream().write(buffer, 0, bytesRead);
if (model.getColumnType().equalsIgnoreCase("WORD")) {
getResponse().setContentType("application/msword");
getResponse().setContentType("application/x-download");
getResponse().addHeader("Content-Disposition",
"attachment;filename=\"" + model.getStationId() + "_" + model.getColumnName() + ".doc\"");
} else {
getResponse().setContentType("image/jpeg");
}
byteCount += bytesRead;
}
} else {
render(getResponse(), "暂无数据", "text/html");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
分享到:
相关推荐
本文档将详细介绍如何在Oracle数据库中读取BLOB字段,并通过示例代码展示具体的实现过程。 #### 二、创建包含BLOB字段的表 为了演示如何在Oracle中操作BLOB字段,首先需要创建一个包含BLOB字段的表。以下是一条创建...
4. **读取BLOB数据**:通过`ResultSet`获取到`BLOB`对象,并将其转换为`InputStream`进行读取。 ```java if (rs.next()) { oracle.sql.BLOB content = (oracle.sql.BLOB) rs.getBlob("content"); ...
delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段delphi读写BLOB字段...
综上所述,使用Hibernate读取Blob字段涉及到配置映射文件、定义实体类中的Blob属性、执行查询以及流式处理Blob数据。理解这些概念和实践方法,可以帮助我们有效地管理和操作大数据类型的持久化对象。在实际项目中,...
分块读取Blob字段是优化大量数据传输的有效策略,避免一次性加载大文件导致内存压力过大。 首先,`createTable.sql` 文件可能包含了创建包含Blob字段的Oracle表的SQL语句。通常,这样的语句会类似于: ```sql ...
读取Blob字段时,可以创建一个`OracleBinary`对象,然后使用`GetValue`方法获取Blob数据。写入Blob字段时,先创建`OracleParameter`对象,将其Direction设置为` ParameterDirection.Input `,OracleDbType设置为`...
可以从数据库中读取blob字段并插入到另一个表中,已经测试通过
本文将深入探讨Hibernate如何读取BLOB类型的数据,以及在实际开发中需要注意的关键点。 首先,理解BLOB在数据库中的角色至关重要。BLOB是SQL标准定义的一种数据类型,用于存储大对象。在关系型数据库中,BLOB字段...
* 使用JSP技术可以读取BLOB字段中的坐标点,然后将其传递到JAVA类中显示图形。 知识点4:图形的显示 * 在图形的正中还显示了编号,充分展示了JSP结合JAVA应用的优势。 * 使用JAVA类可以将坐标点转换为图形,然后将...
在 C# 中,我们可以使用 FileStream 对象来读取 BLOB 数据。 在给定的代码中,我们可以看到,使用 FileStream 对象来读取图片文件,并将其转换为字符串。下面是相关的知识点: 1. FileStream 对象:FileStream 是 ...
Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis ...通过使用 MyBatis 处理 CLOB 和 BLOB 类型数据,可以方便地存储和读取大字段类型的数据,提高应用程序的性能和可扩展性。
通过以上步骤,我们成功地实现了在Java程序中读取Oracle数据库BLOB字段中存储的图片,并在前端页面上显示出来。此方法不仅适用于图片,还可以扩展到其他类型的二进制数据,如音频、视频等文件。这对于构建多媒体应用...
kettle通过java代码将数据库blob 字段抽取到本地文件
读取BLOB字段 在Java中,读取Oracle数据库中的BLOB字段通常通过`java.sql.Blob`类实现。这个类提供了多种方法来处理BLOB数据,例如`getBytes(long pos, int length)`用于获取BLOB的一部分或全部内容。以下是一个...
本篇文章将详细介绍如何通过SQL查询语句获取存储在Blob字段中的JPEG格式照片的像素大小。 ### 1. 了解Blob数据类型 在Oracle数据库中,Blob(Binary Large Object)类型用于存储大容量的二进制数据,比如图像、音频...
3. **读取BLOB字段** - 对于DBExpress,可以使用TOracleQuery组件的SQL属性执行查询,然后在OnBeforeOpen事件中处理BLOB字段,通过TOracleBlobField对象访问BLOB数据。 - 对于ADO,使用TADODBCommand对象的Execute...
Oracle中的Blob字段类型是用于存储大量二进制数据的数据类型,比如图像、音频或大型文档。Blob代表Binary Large Object,其最大容量可达4GB。在Oracle数据库中,Blob与Clob(Character Large Object)、Bfile和Nclob...
1. **数据准备**:确保ORACLE数据库中的BLOB字段包含所需的数据,并且是完整的。可能需要进行数据验证,以确保所有数据都能被正确读取。 2. **数据导出**:使用ORACLE提供的工具,如SQL*Plus或者PL/SQL Developer,...
1. **创建Blob字段:** 首先需要在数据库表中定义一个Blob类型的字段。 2. **插入记录:** 将Blob字段与其它字段一起插入到表中。 3. **写入文件内容:** 将文件内容写入到Blob字段中。 ##### 示例代码(上传部分)...