`

clob字段的添加和修改

阅读更多
java 代码
  1. public Tb_newsPO saveOrUpdateTb_news(Tb_newsPO tb_news) throws Exception {   
  2.   
  3.         Transaction tx = null;   
  4.   
  5.         try {   
  6.             Session s = HibernateSessionFactory.currentSession();   
  7.             tx = (Transaction) s.beginTransaction();   
  8.                
  9.                
  10.             if (tb_news.getId() == null) {             
  11.                    
  12.                 //初始化clob   
  13.                 oracle.sql.CLOB clob = oracle.sql.CLOB.empty_lob();   
  14.                 tb_news.setContents(clob);   
  15. //              tb_bbs.setContents(Hibernate.createClob(""));   
  16.                
  17.                 s.save(tb_news);   
  18.                 s.flush();   
  19.                
  20. //              此处一定要用lockMode.UPGRADE模式进行锁定刷新   
  21.                 s.refresh(tb_news, LockMode.UPGRADE);   
  22.                    
  23.                  //获取Tb_newsPO实体的ContentsString属性值   
  24.                 String content = tb_news.getContentsString();   
  25.                    
  26.                  //将获取的辅助字段的值通过oracle.sql.CLOB的putString()方法赋 值给实体内的Contents字段   
  27.                 clob = (oracle.sql.CLOB) tb_news.getContents();               
  28.                    
  29.                 clob.putString(1,content);               
  30.                    
  31.                 s.update(tb_news);   
  32.                    
  33.             } else {   
  34. //               首先通过锁模式把该实体读出来   
  35.                 Tb_newsPO tb_newsold = (Tb_newsPO) s.load(Tb_newsPO.class, tb_news.getId(),LockMode.UPGRADE);   
  36.   
  37.                    
  38. //               获取辅助字段的值                  
  39.                 String contentsStringnew = tb_news.getContentsString();   
  40.                 System.out.println("contentsStringnew=========="+contentsStringnew);   
  41.                                    
  42.                    
  43. //            更新前首先要清空原clob字段的内容    
  44.                 oracle.sql.CLOB clob_empty = oracle.sql.CLOB.empty_lob();   
  45.                 tb_newsold.setContents(clob_empty);   
  46.                    
  47.                    
  48. //            必须要执行以下两步,否则将抛出“不能对空clob进行读写操作”的异常   
  49.                 s.flush();   
  50.                 s.refresh(tb_newsold, LockMode.UPGRADE);   
  51.                    
  52. //            将获取的辅助字段的值通过oracle.sql.CLOB的putString()方法赋 值给实体内的summaryClob字段   
  53.                 oracle.sql.CLOB clob = (oracle.sql.CLOB) tb_newsold.getContents();   
  54.                 clob.putString(1, contentsStringnew);              
  55.                    
  56.                 s.update(tb_newsold);   
  57.             }   
  58.             s.flush();   
  59.             tx.commit();   
  60.         } catch (Exception e) {   
  61.             tx.rollback();   
  62. //          e.printStackTrace();   
  63.             throw new HibernateException(   
  64.                     "Tb_newsDaoHibernate saveOrUpdateTb_news error!" + e);   
  65.         }   
  66.         return tb_news;   
  67.     }  
分享到:
评论

相关推荐

    clob增加、修改

    根据给定文件的信息,本文将深入探讨如何在Java中操作Oracle数据库中的CLOB字段,包括添加和修改等操作。CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在处理如文章、评论等长文本时非常...

    《ETL数据整合与处理(Kettle)》教学教案 —04字段处理.pdf

    - 字段处理会针对每个记录的数据进行操作,例如选择特定字段、添加常量、修改字段值等。 2. **主要组件及参数设置**: - **字段选择**:允许用户选择需要保留的字段,移除不必要的数据。 - **增加常量**:向数据...

    Blob和Clob使用例子

    在查询和更新Blob和Clob字段时,我们可以使用`getBlob()`和`getClob()`方法获取数据,然后进行读取或修改。注意,处理完Blob和Clob数据后,记得关闭相关的流资源以避免内存泄漏。 总结来说,Blob和Clob是数据库中...

    如何将DB2数据库中的大对象(BLOB,CLOB)数据类型复制到Oracle数据库中

    修改预定集属性,添加Update语句,仅针对“flag”为“1”的记录更新BLOB字段。 5. **挑战与注意事项**: - 需要密切关注数据的一致性和完整性,确保在更新BLOB字段时不破坏其他数据。 - 在处理大量LOB数据时,...

    JDBC中操作Blob、Clob等对象

    接下来是一个具体的示例,展示了如何使用JDBC操作包含Blob和Clob字段的数据库表。 1. **创建包含Blob和Clob字段的表**: ```java String url = "jdbc:derby:clobberyclob;create=true"; Class.forName("org....

    oracle Blob Clob 大数处理 代码

    在创建表时,可以添加Blob或Clob字段来存储大对象。例如: ```sql CREATE TABLE MyTable ( ID NUMBER PRIMARY KEY, BlobData BLOB, ClobData CLOB ); ``` 2. **插入数据**: 插入Blob数据通常需要使用`UTL...

    DBeaver工具的使用详解

    9. **连接数据库**:选择要连接的数据库类型,如MySQL,然后添加相应的驱动和配置信息以建立连接。 **二、DBeaver使用技巧** 1. **设置字体大小**:在DBeaver的首选项中,你可以调整编辑器的字体大小,以适应个人...

    oracle变更数据表字段类型

    由于直接修改字段类型可能会导致数据丢失或者错误,因此需要采用一系列的操作来完成这一过程。接下来将详细介绍如何在Oracle中安全且高效地更改数据表中的字段类型。 #### 一、背景介绍 在日常的数据库维护工作中,...

    maximo dialog 添加和配置

    2. **打开XML文件**:找到对应的记录后,通过CLOB字段打开XML文件。此文件包含了对话框的配置信息。 #### 四、编辑对话框 1. **进入编辑模式**:在Maximo系统的“应用程序设计”模块中找到相应的应用,然后点击...

    动态添加hibernate domain的属性的例子

    4. **存储和检索动态属性**:在数据库中,可以使用一个BLOB或CLOB字段来存储这些动态属性,或者创建一个额外的关联表来保存属性名和值。在运行时,根据需要读取和修改这些属性。 5. **使用动态属性**:在代码中,...

    泛微E9适配达梦数据库说明.docx

    本文将详细讨论两个关键方面:代码层面的修改和脚本编写注意事项。 1. 代码层面的修改 在泛微E9系统中,数据访问对象如RecordSet和WeaverConnection在达梦数据库上运行时,会识别为Oracle数据库。大部分情况下,这...

    Oracle 查询表信息获取表字段及字段注释

    在处理大数据量的字段,如CLOB类型时,理解字段的属性可以帮助我们制定合适的数据存储和检索策略。 此外,Oracle还支持对关键字作为字段名的处理,但通常建议避免这样做,以防止潜在的语法冲突。MyBatis等持久层...

    oracle代码大全.docx

    可以重命名表、添加字段、修改字段定义、添加约束等。例如: ```sql ALTER TABLE 表名 RENAME TO 新表名; ALTER TABLE 表名 ADD 字段名 新字段描述; ALTER TABLE 表名 MODIFY 字段名 新字段描述; ALTER TABLE ...

    ORACLESQL拼接语句.pdf

    例如,改变表名、添加或修改字段、添加约束、控制表的缓存策略。例如,增加字段:`ALTER TABLE 表名 ADD 字段名 字段类型;`,修改字段定义:`ALTER TABLE 表名 MODIFY 字段名 新字段类型;`,添加主键约束:`ALTER ...

    oracle代码大全.pdf

    可以更改表名、添加字段、修改字段定义、添加约束、改变缓存设置等。 3. DROP DROP用于删除数据库对象,如表、索引、视图等,删除操作通常是不可逆的,所以需谨慎使用。 在执行DML和DDL操作时,要注意性能和回滚段...

    oracle_sql语句[借鉴].pdf

    - 直接插入:指定字段和对应的值,如`INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2)`。 - 从另一表选择插入:`INSERT INTO 表名 (字段1, 字段2) SELECT 字段1, 字段2 FROM 另一个表名`。 字符串字段需用单...

    Oracle对字段的增删改方法分享

    Oracle数据库是全球广泛使用的数据库管理系统,以其稳定性和高性能...同时,对于其他相关的技术,如CLOB字段的处理、关键字作为字段名的使用、BLOB字段的读写等,也需要深入理解,以便在遇到复杂情况时能够应对自如。

    oracle常用SQL语句(汇总版).docx

    - 修改字段:`ALTER TABLE 表名 MODIFY 字段名 字段名描述;` - 添加约束:`ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);` 或 `UNIQUE (字段名);` - 控制缓存:`ALTER TABLE 表名 CACHE;` 或 `...

    常用的SQL语句语法.docx

    ALTER用于修改已存在的对象,如更改表名、添加字段、修改字段定义、添加约束、控制缓存等。 3. DROP语句: DROP用于删除表、索引、视图等。删除表时,连同其约束条件一起删除。 在执行INSERT、DELETE和UPDATE等DML...

    ORACLE常用的SQL命令

    - ALTER:改变已有的对象,包括更改表名、添加字段、修改字段定义、添加约束以及控制表的缓存策略。 在执行DML和DDL语句时,务必注意事务处理,使用`COMMIT`来提交更改,使用`ROLLBACK`来撤销操作。对于大批量操作...

Global site tag (gtag.js) - Google Analytics