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

hibernate clob 处理大字段

阅读更多
	hibernante 支持 保存对象后 返回该保存的ID号(省去在查询一次啦)

	业务层

	public void addEvent(EventVO eventVO) throws BOException
	{
		DefaultTransactionDefinition def = new DefaultTransactionDefinition();
		def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
		TransactionStatus status = this.transactionManager.getTransaction(def);

		try {
			EventEvents eventEvents = new EventEvents();

			eventEvents.setUserId(Long.parseLong(eventVO.getUserId()));
			eventEvents.setEventName(eventVO.getEventName());
			eventEvents.setProvinceId(Long.parseLong(eventVO.getProvinceId()));
			eventEvents.setCityId(Long.parseLong(eventVO.getCityId()));
			eventEvents.setArea(eventVO.getArea());
			//转换日期型 入库
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
//			eventEvents.setStartTime(sdf.parse(eventVO.getStartTime()));
//			eventEvents.setEndTime(sdf.parse(eventVO.getEndTime()));
//			eventEvents.setStopTime(sdf.parse(eventVO.getStopTime()));
			eventEvents.setLimitNumber(Long.parseLong(eventVO.getLimitNumber()));
			eventEvents.setJoinType(Long.parseLong(eventVO.getJoinType()));
			eventEvents.setTemplate(eventVO.getTemplate());
			eventEvents.setTypeId(Long.parseLong(eventVO.getTypeId()));

			//处理 大字段 CLOB
			eventEvents.setEventContent(Hibernate.createClob(" "));


			eventRepository.addEvent(eventEvents); -----------------------------------------------------------见第二部分
			System.out.println("##############"+eventEvents.getEventContent());
			/* 处理clob字段 */
			SerializableClob sc = (SerializableClob)eventEvents.getEventContent();//
			Clob wrapclob = sc.getWrappedClob();// 这里的Clob是java.sql.Clob
			CLOB clob = (CLOB) wrapclob;// 这里的CLOB是oracle.sql.CLOB
			Writer writer = clob.getCharacterOutputStream();
			writer.write(eventVO.getEventContent());// kybasicInfo.getInfoContentToString()是String类型的,在action里就是传这个进来,然后再通过文件流形式写成CLOB字段中
			writer.close();

			transactionManager.commit(status);

		} catch (Exception e) {
			transactionManager.rollback(status);
			e.printStackTrace();
		}
	}

第二部分
	/**
	 * 新增活动,返回活动ID
	 */
	public void addEvent(EventEvents eventEvents) throws DAOException
	{
		this.saveReturnID(eventEvents);
	}
第三部分
		/**
	 * 保存实体,返回ID
	 *
	 * @param o
	 * @return
	 */
	public Object saveReturnID(Object o) throws DAOException {
		Object id = null;
		try {
			id = this.getMyHibernateTemplate().save(o);
			this.getMyHibernateTemplate().flush();  ---------------------------  大字段处理
			this.getMyHibernateTemplate().refresh(o); ---------------------------大字段处理
		} catch (Exception e) {
			throw new DAOException(e, this.getClass());
		}
		return id;
	}

update==>


	public void modifyEvent(EventEvents event) throws DAOException
	{
		this.update(event);
		this.getMyHibernateTemplate().refresh(event,LockMode.UPGRADE);//锁定
	}



	public void update(Object o) throws DAOException {
		try {
			// BeanCodingConvert.ObjectConvert(o, BeanCodingConvert.GBK2ISO);
			this.getMyHibernateTemplate().update(o);
			this.getMyHibernateTemplate().flush();

		} catch (Exception e) {
			e.printStackTrace();
			throw new DAOException(e, this.getClass());
		}
	}



	读取CLOB ==>String

	//			CLOB 格式 转换 = string
	try {
		Clob clob = expert.getExpertInfor();
		expertInfor = IOUtils.toString(clob.getCharacterStream());
	} catch (IOException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		e.printStackTrace();
	}
分享到:
评论

相关推荐

    hibernate中处理大字段 网上收集的文档

    总结来说,Hibernate处理大字段涉及到数据类型的选用、映射配置、加载策略以及性能优化等多个方面。理解并灵活运用这些知识点,能够帮助我们在实际项目中更好地管理和使用大字段,同时兼顾性能和用户体验。

    Hibernate存储Clob字段的方式总结

    但随着数据库技术的发展,越来越多的数据库厂商提供了更加简单的方式来操作这些大字段。例如,Oracle数据库提供了支持以String方式处理Clob的新驱动程序。 在Hibernate框架中,可以直接将数据库的Clob字段映射为...

    spring+hibernate 解决大字段(clob)

    ### Spring与Hibernate处理大字段(CLOB/BLOB) 在企业级应用开发中,经常会遇到需要存储大量文本或二进制数据的情况,这时就需要用到数据库的大字段类型如CLOB(Character Large Object)和BLOB(Binary Large ...

    hibernate动态映射表处理oracle的clob类型

    本主题“hibernate动态映射表处理Oracle的CLOB类型”主要聚焦于如何在Hibernate中有效地管理和操作CLOB字段。在Oracle 10g中,CLOB数据类型的处理有时会遇到一些挑战,尤其是在与ORM框架结合使用时。以下将详细介绍...

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

    在Java的持久化框架Hibernate中,处理大数据类型如Clob(Character Large Object)和Blob(Binary Large Object)是常见的需求,这些数据类型通常用于存储大量的文本或二进制数据。Oracle数据库提供了支持Clob和Blob...

    hibernate保存blob,clob对象

    在Java的持久化框架Hibernate中,Blob和Clob对象是用来处理大数据类型的,它们分别对应数据库中的BLOB(Binary Large Object)和CLOB(Character Large Object)。这篇文章将详细讲解如何在Hibernate中保存这两种...

    hibernate存取oracle的clob

    hibernate存取oracle的clob

    关于Clob类型在Hibernate中 的应用小结

    在写入时,先将字符串转换为Clob对象,再由Hibernate处理;读取时,将Clob内容转化为字符串。这种方式适用于数据量不是特别大的情况,因为所有数据都需要在内存中进行转换。 3. **直接使用Clob类型**: Hibernate...

    Hibernate对BLOB CLOB操作

    在Java的持久化框架Hibernate中,BLOB(Binary Large Object)和CLOB(Character Large Object)是用来处理大数据类型的,如图像、音频、大型文本等。本文将深入探讨Hibernate如何进行BLOB和CLOB的操作,以及相关的...

    Hibernate操作数据库大字段的示例(附源码及详细开发使用方法)。

    1. **保存/更新大字段**:在保存或更新实体时,使用SessionFactory的`save()`或`update()`方法,Hibernate会自动处理大字段的存储。 ```java Session session = sessionFactory.openSession(); Transaction tx = ...

    Mybatis 处理 CLOB、BLOB 类型数据

    MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型,用于存储大量的数据。 CLOB 类型...

    数据库读取clob字段

    3. **处理CLOB对象**:获取结果集中的CLOB对象,并对其进行读取或操作。 4. **关闭资源**:最后确保关闭所有的数据库连接和释放相关的资源。 #### 示例代码分析 下面是一个Java方法`clobRead()`的具体实现,用于从...

    关于Oracle的 Clob数据类型在Hibernate中的应用小结

    在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...

    hibernate Blob、Clob字段的映射的例子

    hibernate Blob、Clob字段的映射的例子.数据库mysql,数据库放在文件夹里面,例子的说明文章在我的csdn blog: http://blog.csdn.net/zhengcandan

    ORACLE数据库中插入大字段数据的解决方法

    在实际应用中,需要确保代码正确处理了不同数据库之间的数据类型差异,比如MySQL的TEXT到ORACLE的CLOB,同时考虑到大字段的处理。 总结来说,处理ORACLE数据库中的大字段数据时,应关注存储模式选择、批量操作、...

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    5. **工具支持**:BBoss Persistent作为一个工具,提供了友好的API和示例,使得开发者能够更方便地与数据库交互,尤其是在处理大字段时。通过学习相关文档和博客(如提供的链接),开发者可以快速上手并掌握其使用...

    DELPHI的CLOB和BLOB存取处理.zip_DELPHI的CLOB和BLOB存取处理_hallzgz

    本篇文章将深入探讨DELPHI中如何有效地进行CLOB和BLOB的存取处理。 CLOB主要用来存储大文本数据,如长篇文章、XML文档或JSON字符串,而BLOB则用于存储大量的二进制数据,如图像、音频、视频文件或者任何非文本的...

Global site tag (gtag.js) - Google Analytics