前一段,我们的论坛用到了点问题。一次发帖不能超过2000个中文,然后我们用Clob来处理,在网上找了好多例子,最终可是弄好了。
首先在Form中写两个字段,一个是java.sql.clob类型的,一个是String类型的,前者用来取Clob,后者相当于中介的作用。
*.hbm.xml的配置文件如下
<property name="content" type="java.sql.Clob" update="true" insert="true">
<column name="CONTENT" />
</property>
然后在DAO层中写入类似的代码
Session session = getHibernateTemplate().getSessionFactory()
.openSession();
Transaction tran = session.beginTransaction();
TmInfo tmInfo = new TmInfo();
tmInfo.setContent(Hibernate.createClob(" "));//这个一定要是空格
tmInfo.setSubject(administratorForm.getSubject());
tmInfo.setPblishTime(new Date());
session.save(tmInfo);
session.flush();
session.refresh(tmInfo, LockMode.UPGRADE);
// 从页面上拿数据到实体
tmInfo.setContentString(administratorForm.getContent());
SerializableClob sc = (SerializableClob) tmInfo.getContent();
Clob wrapclob = sc.getWrappedClob();
CLOB clob = (CLOB) wrapclob;
Writer out;
try {
Writer characterOutputStream = clob.getCharacterOutputStream();//强制转换,否则会报空指针
out = characterOutputStream;
out.write(tmInfo.getContentString());
out.close();
tran.commit();
session.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
System.out.println(e.toString());
}
就这样就能存好多字了。
然后取的时候,就
Clob clob = tmInfo.getContent();// 取得Clob的值
if (clob != null) {
String clobString = "";
try {
clobString = clob.getSubString(1, (int) clob.length());// 将Clob类型的值转换成String类型的值
tmInfo.setContentString(clobString);// 通过setter方法,设置String值,然后就可以通过instance.getInfoContentToString()来取值了
} catch (SQLException e) {
e.printStackTrace();
}
}
分享到:
相关推荐
一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...
java web 对clob大文本 blob图像处理 这是一个完整的例子,整合了ckeidtor,servlet直接显示数据库blob图片, 注意oracle驱动ojdbc14.jar,如果是其他驱动例如ojdbc14_*g都是不可以的。 表结构看hbm.xml配置文件 ...
这个项目对于初学者来说,提供了SSH框架与Oracle数据库结合的实际应用示例,可以帮助理解MVC模式和ORM概念,熟悉Eclipse开发环境,掌握数据库操作和事务处理,以及如何在实际项目中配置和使用SSH框架。同时,简单的...
在这个名为“移动ssh项目(struts+spring+hibernate+oracle)”的压缩包中,我们可以看到一个利用这些技术构建的项目实例,结合Oracle数据库。以下是关于SSH框架及Oracle数据库的详细介绍: 1. Struts:Struts是MVC...
### SSH之PL/SQL编程详解 #### 一、PL/SQL概述 PL/SQL(Process Language / SQL)是一种专门用于Oracle数据库的过程化编程语言,它将过程化编程语言的特性与SQL的功能相结合,使得开发者能够编写高效、健壮的...
Hibernate4相较于之前的版本,优化了查询性能,支持了更多的JPA标准,并引入了二进制大型对象(Blob/Clob)的处理。 “sshtest”可能是一个整合了SSH三个框架的示例项目,用于演示如何在实际开发中将它们集成在一起...
这四个技术的结合,通常被称为“SSM”或“SSH”(Spring、SpringMVC、Hibernate的缩写,Oracle有时不被包含在内,因为它是数据库层面的技术,而SSM主要关注应用层开发)。这样的组合为Java企业级应用提供了完整的...
该错误通常出现在Spring框架中,当试图处理大型对象(如BLOB或CLOB)但Spring配置中未提供适当的LobHandler时会抛出。为了解决这个问题,需要在Spring配置文件中添加对LobHandler的支持。 ### 错误六:at java.util...
Oracle数据库系统提供了高效的数据存储和管理能力,支持复杂的数据操作和事务处理。本文将深入探讨Oracle的基础概念和一些常用的操作。 首先,Oracle数据库是存储数据的仓库,如标题中提到的“XE”或“ORCL”,它们...
文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...
开发框架如SSH(Struts+Spring+Hibernate)和SSI(SpringMVC+Spring+IBatis)经常与Oracle配合使用。 配置监听器是Oracle数据库管理的重要环节,监听器文件(如Oracle.Listener和OracleService)负责处理客户端连接...
- Data Pump(DMP文件)对CLOB字段的支持有限,可能需要额外处理。 - 对于小规模数据,使用PL/SQL Developer或其他数据库管理工具可能更方便,导出的SQL脚本也更直观易读。 - 在导入时,`ignore=y`选项会跳过已...
5. 熟悉基础算法,如排序算法,并掌握JDBC技术,包括驱动加载、API使用、事务处理和CLOB/BLOB数据类型的处理。 **第二部分:JavaEE** JavaEE(Java Enterprise Edition)专注于服务器端应用,涉及分布式和分层架构...
Oracle是世界上广泛使用的商业关系数据库管理系统之一,支持大型数据集和高性能数据处理。 9. Photoshop Photoshop是Adobe公司开发的图像编辑和处理软件,广泛应用于图像设计、广告制作、网页设计等多领域。虽然...