mysql 5.0数据库mydb
CREATE DATABASE mydb
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
表employee:
create table employee (
id integer not null auto_increment,
firstname varchar(15),
........
resume text,
primary key (id)
)ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;
employee.hbm.xml
<class name="Employee" table="employee">
<id name="id" type="java.lang.Integer" column="id">
<generator class="identity" />
</id>
<property name="firstname" type="java.lang.String" column="firstname" length="15"/>
....
<property name="resume" type="java.sql.Clob" column="resume" />
</class>
操作类Dao.java:
public void importLargeObjects() {
String filename = null;
File file;
String rootPath ;
Session session = Dao.sessionFactory.openSession();
Query query = session.createQuery("from Employee");
List<?> list = query.list();
Iterator<?> it = list.iterator();
while (it.hasNext()) {
Employee employee = (Employee) it.next();
session.beginTransaction();
rootPath = Thread.currentThread().getContextClassLoader().getResource("").getPath().toString();
//取build/texts/目录下雇员名.txt为当前文件名,文本文件均以utf8编码。
filename = rootPath+"texts/" + employee.getFirstname() + ".txt";
file = new File(filename);
try {
FileReader reader = new FileReader(filename);
// 写入的文件不能过大,即要小于int最大值。
Clob resume = Hibernate.createClob(reader, (int) file.length());
employee.setResume(resume);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//file.delete();
session.save(employee);
session.getTransaction().commit();
}
session.close();
}
用MySQL Query Browser查看resume为乱码,怀疑可能是MySQL Query Browser问题,使用SQL Manager for MySQL 2007(4.1)查看resume,仍为乱码,估计应该是乱码。如何正确编码?
分享到:
相关推荐
Hibernate存储Clob字段的方式总结涉及了在Java开发中使用Hibernate操作大型文本字段Clob的操作方法。本文主要介绍了两种操作Clob字段的方法,一种是将Clob字段直接映射为String类型,另一种是使用Clob类型进行处理。...
下面将讨论解决dblink_clob字段异常的解决方案。 什么是dblink? DBLink是Oracle数据库中的一种机制,允许用户从一个数据库实例访问另一个数据库实例中的数据。DBLink提供了一种方式来访问远程数据库中的数据,而...
本文将详细介绍如何在Spring与Hibernate框架结合的情况下,有效地处理Oracle 10g数据库中的CLOB字段。 #### 一、环境配置 为了确保项目能够顺利运行,首先需要搭建好开发环境。本示例中使用的环境配置如下: 1. *...
本文将详细介绍如何有效地向Oracle数据库插入Clob大段文本,以及在操作过程中可能遇到的问题与解决方案。 ### 一、理解CLOB类型 CLOB类型是Oracle数据库中用于存储大量文本数据的数据类型,它可以存储最大为4GB的...
下面我们将详细介绍 Java 中操作 Oracle 的 CLOB 字段的相关知识点。 1. CLOB 类型的介绍 CLOB(Character Large OBject)是一种 Oracle 数据库中的数据类型,用于存储大型文本数据。CLOB 类型的字段可以存储大量...
在J2EE开发中,处理大数据对象(如大文本或二进制数据)时,Oracle数据库的CLOB字段常被用来存储超过4000字节的信息。Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和...
### 读取Oracle数据库中CLOB字段的值 在处理Oracle数据库时,经常会遇到需要读取CLOB(Character Large Object)类型字段的情况。CLOB主要用于存储大量的文本数据,如文章、文档等内容。由于CLOB类型的数据量可能...
CLOB 字段可以存储大量的文本数据,超过 4000 字的文本一般存储在 CLOB 中。例如,在创建表结构时,我们可以使用以下 SQL 语句: ``` create table products( productid number(10) not null, name varchar2(255)...
本文将详细介绍如何在Oracle数据库中读取CLOB类型的字段,并提供一个示例代码片段来展示具体的实现过程。 #### CLOB的基本概念 CLOB是Oracle数据库提供的用于处理大量字符数据的一种特殊数据类型。它支持Unicode...
JDBC读写Oracle的CLOB字段
本文将详细介绍如何在Oracle中实现CLOB字段到字符串类型的转换,并探讨其中的关键技术和注意事项。 #### 一、CLOB概述 1. **定义**: - `CLOB`是Oracle数据库提供的一种特殊的数据类型,用于存储大文本数据。 - ...
首先,创建一个Clob对象,并将待插入的文本数据写入到Clob对象中,然后在SQL语句中设置对应的参数。例如: ```java String sql = "INSERT INTO my_table (my_clob_column) VALUES (?)"; Connection conn = ... // ...
hibernate Blob、Clob字段的映射的例子.数据库mysql,数据库放在文件夹里面,例子的说明文章在我的csdn blog: http://blog.csdn.net/zhengcandan
在Oracle数据库中,CLOB(Character Large Object)字段类型用于存储大量的文本数据,如XML文档、长篇文章或者大量字符数据。然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-...
我们使用了 Java 语言和 JDBC 驱动程序来实现数据的导出,并将 Image 类型数据写到文件中,然后将文件中的数据读取出来,并将其设置到 Oracle 的 CLOB 字段中。这种方法可以帮助我们实现不同数据库管理系统之间的...
在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...
Oracle如何插入CLOB字段值,附件为简单的示例代码。Oracle如何插入CLOB字段值,附件为简单的示例代码。
修改clob blob 字段 修改clob blob 字段 修改clob blob 字段
- 对CLOB数据,可以将文本转换为TMemoryStream,然后使用AsWideString属性从Stream读取或写入。 4. 分块读写: - 当数据过大时,可以采用分块读写,每次只处理一部分数据,减少内存占用。 - 使用Seek方法定位到...
在Java的持久化框架Hibernate中,BLOB(Binary Large Object)和CLOB(Character Large Object)是用来处理大数据类型的,如图像、音频、大型文本等。本文将深入探讨Hibernate如何进行BLOB和CLOB的操作,以及相关的...