oracle数据库建表语句
create table stu
(
id number(2),
name varchar2(16),
filename varchar2(64),
filedata BLOB,
primary key(id)
);
Stu.java文件
public class Stu implements java.io.Serializable {
// Fields
private Byte id;
private String name;
private String filename;
private byte[] filedata; //此处理将其属性类型设为byte[]
// Constructors
/** default constructor */
public Stu() {
}
剩余部分略去.....
Stu.hbm.xml文件如下:
<hibernate-mapping>
<class name="com.aoyou.mapping.Stu" table="STU" schema="LIXIN03080">
<id name="id" type="java.lang.Byte">
<column name="ID" precision="2" scale="0" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="16" />
</property>
<property name="filename" type="java.lang.String">
<column name="FILENAME" length="64" />
</property>
<hibernate-mapping>
<class name="com.aoyou.mapping.Stu" table="STU" schema="LIXIN03080">
<id name="id" type="java.lang.Byte">
<column name="ID" precision="2" scale="0" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="16" />
</property>
<property name="filename" type="java.lang.String">
<column name="FILENAME" length="64" />
</property>
<!-- 注意下面filedata的type为binary -->
<property name="filedata" type="binary">
<column name="FILEDATA" />
</property>
</class>
</hibernate-mapping>
<property name="filedata" type="binary">
<column name="FILEDATA" />
</property>
</class>
</hibernate-mapping>
在main方法中测试:
保存数据到数据库:
public static void main(String[] args) throws IOException{
Session session = new Configuration().configure().buildSessionFactory().openSession();
Transaction t = session.beginTransaction();
File file = new File("D:\\购物网站\\二期\\数据库设计.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
Stu stu = new Stu();
stu.setId(2);
stu.setName("mary");
stu.setFilename("数据清单");
String content = "";
String temp = "";
while((temp = br.readLine()) != null){
content += temp;
}
br.close();
stu.setFiledata(content.getBytes());
session.save(stu);
t.commit();
}
读取数据库数据:
public static void main(String[] args) throws IOException{
Session session = new Configuration().configure().buildSessionFactory().openSession();
Transaction t = session.beginTransaction();
String hql = " from Stu ";
Query query = session.createQuery(hql);
List list = query.list();
if(list != null){
Stu stu = (Stu)list.get(0);
System.out.println(stu.getId());
System.out.println(stu.getName());
System.out.println(stu.getFilename());
byte[] b = stu.getFiledata();
System.out.print(new String(b, 0, b.length));
}
t.commit();
}
分享到:
相关推荐
以下是对“JDBC+Hibernate将Blob数据写入Oracle”这一主题的深入解析。 ### JDBC与Oracle BLOB的交互 #### 1. 理解Oracle BLOB特性 在Oracle中,BLOB用于存储大量的二进制数据,如图像文件。与传统的文本或数字...
BLOB 类型是数据库系统中用于存储大量二进制数据的数据类型。在 Java 应用开发中,尤其是使用 ORM 框架如 Hibernate 进行持久化层开发时,如何高效地处理 BLOB 类型字段成为了一个关键问题。 本文档将详细介绍如何...
Hibernate作为一款流行的ORM(对象关系映射)框架,提供了与Oracle数据库交互的简便方式,包括处理Blob数据。本文将详细介绍如何使用Hibernate和JDBC读取和存储Oracle数据库中的Blob对象。 ### 1. Hibernate Blob...
综上所述,使用Hibernate读取Blob字段涉及到配置映射文件、定义实体类中的Blob属性、执行查询以及流式处理Blob数据。理解这些概念和实践方法,可以帮助我们有效地管理和操作大数据类型的持久化对象。在实际项目中,...
同时,确保数据库支持高效的BLOB和CLOB操作,比如Oracle的BFILE类型或使用流式处理。 总之,Hibernate提供了对BLOB和CLOB的便利支持,允许开发者在Java应用中轻松地处理大数据对象,从而实现与数据库的高效交互。...
综上所述,这个实例展示了如何在Oracle数据库中使用Hibernate处理Blob数据,结合Uploadify实现文件上传。这种解决方案不仅适用于Oracle,理论上也适用于其他支持Blob类型的数据库,如MySQL和MSSQLServer。了解这些...
7. 更新记录,将Blob数据设置为已写入的值: ```java pstmt = conn.prepareStatement("update tablename set content=? where name=?"); pstmt.setBlob(1, blob); pstmt.setString(2, "name"); pstmt....
在实际操作中,可以通过Hibernate实现Oracle数据库中BLOB数据的存储和删除操作,然后利用Struts2框架展示这些BLOB数据。这样的结合,不仅可以提高开发效率,还能保证应用的性能和稳定性。 ### 实际操作步骤 在实际...
在Oracle数据库中,Hibernate提供了与这些数据类型的交互方式。本篇将详细介绍在Hibernate中如何处理Clob和Blob字段,以及使用特定Oracle JDBC驱动程序的优势。 首先,Hibernate通过`org.hibernate.type`包中的`...
在Java的持久化框架Hibernate中,处理大数据类型如BLOB(Binary Large Object)和CLOB(Character Large Object)是一项常见的任务。BLOB用于存储二进制数据,如图片、视频或文档,而CLOB则用于存储大文本数据,如...
Hibernate 提供了多种数据类型,用于匹配不同数据库系统支持的标准 SQL 数据类型。这些数据类型包括: - **数值类型**:例如,`byte` 和 `java.lang.Byte` 映射到 `TINYINT`,`short` 和 `java.lang.Short` 映射到 ...
但是,注意在写入BLOB数据时,依然需要将文件内容转换为`InputStream`,传递给Hibernate的`Blob`实现。 总结来说,无论是使用JDBC还是Hibernate,处理Oracle数据库的BLOB字段都需要了解其特殊性,尤其是BLOB字段的...
Oracle 和 WebLogic 服务器在处理 BLOB(Binary Large Object)数据类型时,涉及的是数据库管理和Web应用程序中的数据存储与检索。BLOB 类型通常用于存储大量二进制数据,如图片、音频或视频文件。本篇文章将深入...
这篇博客文章“Hibernate操作Oracle中Clob、Blob字段小结”可能会探讨如何在Hibernate中有效地处理这两种类型的数据。 1. **Clob与Blob的理解**: - Clob:Clob是用于存储大量字符数据的类型,例如长篇文章、XML...
在Oracle 10g中,CLOB数据类型的处理有时会遇到一些挑战,尤其是在与ORM框架结合使用时。以下将详细介绍相关知识点: 1. **CLOB类型**:CLOB是一种非二进制大对象,用于存储大量字符数据,最大可达到4GB。Oracle 10...
JDBC实现对CLOB和BLOB数据类型的操作 在数据库中,存在两种类型的数据:CLOB(Character Large OBject)和BLOB(Binary Large OBject),它们用于存储大型数据,如文本、图片、音频、视频等。对CLOB和BLOB数据类型...