`

Java图片/文件下载+Hibernate+Oracle数据库Blob字段类型

    博客分类:
  • Java
阅读更多
@RequestMapping(value = "files.action")
public void files(HttpServletRequest request, HttpServletResponse response) {
	try {
		String faId = request.getParameter("id");
		GzryFjxx fjxx = gzryFjxxServ.getByFaId(faId);
		Blob img = fjxx.getTp();
		long size = img.length();
		byte[] b = img.getBytes(1, (int) size);
		if (b.length > 0) {
			for (int i = 0; i < b.length; i++) {
				if (b[i] < 0) {
					b[i] += 256;
				}
			}
			String filename = java.net.URLEncoder.encode(fjxx.getText(),"UTF-8");
			response.addHeader("Content-Disposition","attachment;filename=" + filename);
			response.addHeader("Content-Transfer-Encoding", "binary");
			response.setContentType("image/jpg");//MIME类型			
                                OutputStream outs = response.getOutputStream();
			outs.write(b);
			outs.flush();
			outs.close();
		}
	} catch (Exception e) {
		System.out.println(e);
	}
}

//Hibernate实体类:
import java.sql.Blob;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name = "T_GZRY_FJXX")
public class GzryFjxx {

	private String id;
	private Blob tp;
	private String text;
	
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "TP")
	public Blob getTp() {
		return tp;
	}

	public void setTp(Blob tp) {
		this.tp = tp;
	}

	@Column(name = "TEXT", length = 200)
	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}	

}

分享到:
评论

相关推荐

    JDBC+Hibernate将Blob数据写入Oracle

    在Oracle数据库中,BLOB类型的字段具有特殊的处理方式,尤其在使用JDBC(Java Database Connectivity)和Hibernate框架时,需要特别注意其写入过程。以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入...

    jdbc+hibernate存取blob字段

    本篇将详细介绍如何使用JDBC(Java Database Connectivity)与Hibernate框架来操作Oracle数据库中的BLOB字段。 首先,Oracle数据库的BLOB字段提供了对大对象的高效存储,它的性能优于LONG字段,尤其适合存储大容量...

    spring+hibernate操作oracle的clob字段

    在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB字段常被用来存储超过4000字节的信息。Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和...

    使用hibernate对oracle读取blob

    在实体类中,你可以定义一个Blob类型的属性来表示数据库中的Blob字段: ```java @Entity public class MediaEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Lob ...

    Spring+Hibernate处理Oracle lob字段(一)

    在本文中,我们将深入探讨如何在Java环境下,利用Spring和Hibernate框架处理Oracle数据库中的LOB(Large Object)字段。LOB字段通常用于存储大体积的数据,如文本、图片或视频。在实际开发中,处理这类数据时可能会...

    Hibernate读取blob字段

    在Java的持久化框架Hibernate中,Blob类型常用于存储大对象(Large Object),如图片、音频、视频或大型文本文件等。本篇文章将深入探讨如何使用Hibernate读取数据库中的Blob字段,以及涉及到的相关知识点。 首先,...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    总结起来,在Hibernate中处理Oracle数据库中的Clob和Blob字段,主要涉及以下几个步骤: 1. 在实体类中定义Clob和Blob字段,并使用`@Lob`注解。 2. 配置Hibernate的JDBC连接,使用支持Clob和Blob高效操作的Oracle ...

    oracle+hibernate 处理blob +uploadify实例

    在本示例中,我们将探讨如何使用Oracle数据库、Hibernate ORM框架以及Uploadify插件处理Blob类型的大数据,如图片或文件上传。Blob(Binary Large Object)是数据库中用于存储二进制大对象的类型,常用于存储图片、...

    Struts2 Hibernate存取Oracle数据库中的BLOB数据.pdf

    ### Struts2框架介绍 Struts2是一个基于Java语言...同时,对于未来技术选型,Oracle数据库推荐优先考虑使用CLOB和BLOB类型来存储大型数据,因为这些类型比LONG类型拥有更好的特性,例如更大的容量和更好的操作灵活性。

    Hibernate操作Oarcle中Clob、Blob字段小结

    在Java的持久化框架Hibernate中,处理大数据类型如Oracle数据库中的Clob(Character Large Object)和Blob(Binary Large Object)字段是一项重要的任务。Clob通常用于存储大量的文本数据,而Blob则适用于二进制...

    使用JDBC和Hibernate来写入Blob型数据到Oracle中

    在Java开发中,有时我们需要存储二进制大数据,如图片、视频或文档,这时Oracle数据库中的Blob类型就显得尤为重要。Blob(Binary Large Object)是Oracle用来存储大对象数据的类型,它可以高效地处理大量的二进制...

    java将图片写入数据库,并读出来(blob clob)

    其中,`imageData`是Blob字段,用于存储图片数据。 3. **读取图片并转换为Blob** 使用`FileInputStream`读取图片文件,然后将其转换为`Blob`对象。可以使用`PreparedStatement`的`setBlob()`方法将Blob对象设置为...

    spring+hibernate 解决大字段(clob)

    在Hibernate的`SessionFactory`配置中,需要指定`lobHandler` Bean来处理CLOB和BLOB字段: ```xml &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"&gt; ...

    struts+hibernate+spring+blob

    struts+hibernate+spring+blob 三个框架集成了一下,主要包括利用struts的上传附件功能,并把上传的图片存储到oracle的blob字段。并提供显示。 没做过多的限制,还有很多bug别见怪,功能跑得通!

    hibernate对Blob类型字段进行数据添加.txt

    在 Hibernate 中,Blob 类型的字段通常被映射为 `java.sql.Blob` 类型。该类提供了对数据库中 Blob 数据的操作接口。对于不同的数据库管理系统(DBMS)如 Oracle、MySQL 或 MSSQL,Blob 的处理方式略有不同,这主要...

    spring+struts+hibernate实现文件的上传和下载

    数据表的 Blob 字段在 Java 对象中声明为 `byte[]` 类型,而在 Hibernate 映射文件中使用 `BlobByteArrayType` 类型。 **文件上传** Struts 通过将 HTML 表单中的 `file` 输入类型映射到 `ActionForm` 中的 `...

    Struts2,Hibernate3,Spring2实现oracle存取blob字段(图片等二进制文件)(原来2分的,现在免费了!!给评分哦!!)

    Struts2,Hibernate3,Spring2实现oracle存取blob字段(图片等二进制文件) Myeclipse6.0下开发 哈哈,原来2分的,现在免费了!!!!!!!!!!!!!!!!!!!!!!!!给评分哦!!!!!!!!!!!!!!!!

    Struts+Spring+Hibernate开发实例祥解

    在处理Blob字段时,Spring提供了OracleLobHandler,它能处理Oracle数据库的Blob类型字段,并且可以方便地在不同的数据库之间移植,因为它的API与具体的数据库驱动程序无关。在Hibernate映射文件中,Blob字段的type...

Global site tag (gtag.js) - Google Analytics