`
heyaron
  • 浏览: 51262 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle SSH Clob的处理

阅读更多
   前一段,我们的论坛用到了点问题。一次发帖不能超过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字段的处理

    一个完整的工程,主要功能为:spring+hbernate对clob、blob字段的处理 包括:数据脚本、典型的SSH框架处理,以及spring、hibernate数据批量保存等功能源码、所用到的lib包 数据环境为:oracle 10G 开发:Mycelipse5.1...

    ssh对lob完美处理

    java web 对clob大文本 blob图像处理 这是一个完整的例子,整合了ckeidtor,servlet直接显示数据库blob图片, 注意oracle驱动ojdbc14.jar,如果是其他驱动例如ojdbc14_*g都是不可以的。 表结构看hbm.xml配置文件 ...

    简单毕业选题系统-ssh框架连接Oracle

    这个项目对于初学者来说,提供了SSH框架与Oracle数据库结合的实际应用示例,可以帮助理解MVC模式和ORM概念,熟悉Eclipse开发环境,掌握数据库操作和事务处理,以及如何在实际项目中配置和使用SSH框架。同时,简单的...

    移动ssh项目(struts+spring+hibernate+oracle).zip

    在这个名为“移动ssh项目(struts+spring+hibernate+oracle)”的压缩包中,我们可以看到一个利用这些技术构建的项目实例,结合Oracle数据库。以下是关于SSH框架及Oracle数据库的详细介绍: 1. Struts:Struts是MVC...

    ssh之plsql编程

    ### SSH之PL/SQL编程详解 #### 一、PL/SQL概述 PL/SQL(Process Language / SQL)是一种专门用于Oracle数据库的过程化编程语言,它将过程化编程语言的特性与SQL的功能相结合,使得开发者能够编写高效、健壮的...

    三个ssh框架

    Hibernate4相较于之前的版本,优化了查询性能,支持了更多的JPA标准,并引入了二进制大型对象(Blob/Clob)的处理。 “sshtest”可能是一个整合了SSH三个框架的示例项目,用于演示如何在实际开发中将它们集成在一起...

    Spring,SpringMVC,Hibernate,Oracle知识汇总

    这四个技术的结合,通常被称为“SSM”或“SSH”(Spring、SpringMVC、Hibernate的缩写,Oracle有时不被包含在内,因为它是数据库层面的技术,而SSM主要关注应用层开发)。这样的组合为Java企业级应用提供了完整的...

    oracle基础练习.docx

    Oracle数据库系统提供了高效的数据存储和管理能力,支持复杂的数据操作和事务处理。本文将深入探讨Oracle的基础概念和一些常用的操作。 首先,Oracle数据库是存储数据的仓库,如标题中提到的“XE”或“ORCL”,它们...

    精心整理的ssh2 一些错误问题的记录(推荐)

    该错误通常出现在Spring框架中,当试图处理大型对象(如BLOB或CLOB)但Spring配置中未提供适当的LobHandler时会抛出。为了解决这个问题,需要在Spring配置文件中添加对LobHandler的支持。 ### 错误六:at java.util...

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    Oracle数据库的基础使用

    开发框架如SSH(Struts+Spring+Hibernate)和SSI(SpringMVC+Spring+IBatis)经常与Oracle配合使用。 配置监听器是Oracle数据库管理的重要环节,监听器文件(如Oracle.Listener和OracleService)负责处理客户端连接...

    Linux下Oracle如何导入导出dmp文件详解

    - Data Pump(DMP文件)对CLOB字段的支持有限,可能需要额外处理。 - 对于小规模数据,使用PL/SQL Developer或其他数据库管理工具可能更方便,导出的SQL脚本也更直观易读。 - 在导入时,`ignore=y`选项会跳过已...

    Java高级工程师就业培训课程大纲.docx

    5. 熟悉基础算法,如排序算法,并掌握JDBC技术,包括驱动加载、API使用、事务处理和CLOB/BLOB数据类型的处理。 **第二部分:JavaEE** JavaEE(Java Enterprise Edition)专注于服务器端应用,涉及分布式和分层架构...

    学术会议管理系统毕业论文.pdf

    Oracle是世界上广泛使用的商业关系数据库管理系统之一,支持大型数据集和高性能数据处理。 9. Photoshop Photoshop是Adobe公司开发的图像编辑和处理软件,广泛应用于图像设计、广告制作、网页设计等多领域。虽然...

Global site tag (gtag.js) - Google Analytics