public void InsertContents(MContent content)
throws Exception {
String Title=content.getTitle() ;
String contents=content.getContents();
Connection sqlConn = null;
sqlConn = getConnection();
sqlConn.setAutoCommit(false); // *
//id, column_code, title, createdate, contenturl, contents
String sql = "insert into M_Content (column_code, title, createdate, contenturl, contents,filePath )values('"+content.getColumnCode()+
"','"+content.getTitle()+"',default,'"+content.getContentUrl()+ "',empty_clob(),'"+content.getFilePath()+"')";
System.out.println(sql);
Statement stmt = sqlConn.createStatement();
stmt.executeUpdate(sql);
sqlConn.commit(); // *
String strSQL = "select ID from M_Content where title='" + Title
+ "' and ROWNUM<=1 order by ID DESC";
System.out.println(strSQL);
String[][] array = ShareProcedure.getResultSet(strSQL);
if (array != null) {
sql = "select contents from M_Content where id=" + array[0][0]
+ " for update ";
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
java.sql.Clob clob = rs.getClob(1);
clob.setString(1, contents);
sql = "update M_Content set contents=? where id=" + array[0][0];
System.out.println(sql);
PreparedStatement pstmt = sqlConn.prepareStatement(sql);
pstmt.setClob(1, clob);
pstmt.executeUpdate();
sqlConn.commit();
}
}
stmt.close();
sqlConn.close();
System.out.println("content insert successful!");
}
public boolean update(MContent content){
String sqlUpdate=" update M_Content set contents=empty_clob() where id="+content.getId();
String sql = "select contents from M_Content where id=" +content.getId()+ " for update ";
Connection con=pubecti.ShareProcedure.getConnection();
try {
ps=con.prepareStatement(sql);
Statement st=con.createStatement();
st.executeUpdate(sqlUpdate);
con.commit();
ResultSet rs = ps.executeQuery(sql);
if(rs.next()) {
java.sql.Clob clob = null;
clob = rs.getClob(1);
if(content.getContents()!=null){
clob.setString(1, content.getContents());
}else{
clob.setString(1, "");
}
String strSql="update M_Content set title=?,column_code=?,contenturl=?,contents=? ,filePath=? where id="+content.getId();
System.out.println("MContentDAO Update sql is:"+strSql);
ps=con.prepareStatement(strSql.toString());//PreparedStatement ps=null;
ps.setString(1, content.getTitle());
ps.setString(2, content.getColumnCode());
ps.setString(3, content.getContentUrl());
ps.setClob(4, clob);
ps.setString(5, content.getFilePath());
ps.executeUpdate();
con.commit();
ps.close();
st.close();
rs.close();
con.close();
return true;
}
}catch(SQLException e){
log.error("MContentDAO Update () 操作失败"+e.toString());
return false;
}catch(Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return false;
}
分享到:
相关推荐
本文将深入探讨Oracle中的CLOB类型文字处理,以及如何在实际操作中进行操作。 1. CLOB数据类型介绍: - CLOB类型是用来存储最大容量为4GB的单个字符数据,可以是Unicode字符集,支持多种语言。 - 它不同于VARCHAR...
在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何其他大型文本内容。然而,在处理CLOB...
Mybatis 处理 CLOB、BLOB 类型数据 MyBatis 处理 CLOB、BLOB 类型数据是指在使用 MyBatis 框架时,如何正确地处理大字段类型的数据。CLOB(Character Large OBject)和 BLOB(Binary Large OBject)都是大字段类型...
### 读取Oracle数据库中CLOB字段的值 ...通过上述步骤,我们可以有效地读取Oracle数据库中的CLOB字段,并根据具体需求进行相应的数据处理。这对于处理大量文本数据的场景非常重要,有助于提高应用程序的性能和稳定性。
本文主要介绍了在Java中处理Oracle数据库CLOB类型的基本方法,包括CLOB的读写操作、中文编码问题的处理以及一些额外的注意事项。通过这些知识点的学习,可以更高效地完成与Oracle数据库的交互任务。
通过上述示例,我们可以看到如何使用Java通过JDBC操作Oracle数据库中的CLOB类型数据。这些基本的操作是开发人员在日常工作中经常需要用到的功能之一。掌握这些技术对于实现高效、可靠的数据库应用程序至关重要。此外...
Java 中操作 Oracle 的 CLOB 字段是一种常见的操作,在实际开发中,我们经常需要在 Oracle 数据库中存储和读取大型文本数据,这时就需要使用 CLOB(Character Large OBject)类型的字段来存储这些数据。下面我们将...
在Hibernate框架中,Clob类型的字段处理是数据库操作中的一个关键环节,尤其是在处理大量文本数据时。以下是对Oracle Clob在Hibernate中应用的详细总结: 3.1 传统的JDBC方式: 在没有使用ORM框架之前,我们通常...
CLOB类型是Oracle数据库中用于存储大量文本数据的数据类型,它可以存储最大为4GB的文本数据。在实际应用中,当需要存储的文章、报告或者XML文档等文本信息超过常规VARCHAR2类型的限制时,CLOB便成为首选。 ### 二、...
Oracle数据库中的Clob类型用于存储大量的文本数据,如XML文档、长篇文章或者日志文件。Blob类型则用于存储非结构化的二进制数据,如图片、音频文件或PDF文档。由于这些数据量大,常规的SQL查询可能无法有效处理,...
在实际应用中,由于业务需求的变化或者数据处理的需要,有时候会涉及到将CLOB类型转换为其他类型的情况,比如VARCHAR2。这种转换的需求通常出现在以下几个场景: 1. **性能优化**:在某些情况下,CLOB类型的数据...
总之,管理Oracle数据库中CLOB类型的字段和表空间索引空间是一项重要的任务,直接影响到系统的性能和稳定性。通过合理的索引重建和表空间管理,可以确保数据库高效运行,并减少不必要的维护成本。在实践中,应结合...
在IT行业中,数据库管理和持久化框架是至关重要的...通过以上内容,你应该对在Hibernate中动态映射Oracle 10g的CLOB类型有了深入理解,这将帮助你在实际项目中有效地处理大文本数据。如有任何疑问,欢迎继续交流探讨。
Oracle数据库在存储大对象(BLOB和CLOB)时提供了强大的功能,但处理这些类型的数据进行导入导出可能会带来挑战。"Oracle导出Clob,Blob工具版本2" 是一个专为解决这个问题而设计的应用程序,它改进了对CLOB...
- 存储机制:MySQL的`TEXT`和`BINARY`系列数据类型通常存储在数据页中,而Oracle的`CLOB`和`BLOB`可以存储在表空间中,允许更大的数据量。 - 索引支持:Oracle支持对`CLOB`和`BLOB`字段建立索引,而MySQL的索引...
其中,处理 Oracle 数据库中的 CLOB 类型数据是一项重要的技能。CLOB(Character Large Object)是一种用于存储大量文本数据的数据类型,在 Oracle 数据库中广泛使用。下面我们将详细介绍如何使用 Hibernate 来存取 ...
在某些情况下,可能需要将BLOB类型的数据转换为CLOB类型,例如,在处理文本数据时,如果数据被错误地存储为BLOB,或者需要将二进制数据中的可读文本部分提取出来进行处理。本文将详细介绍如何使用Oracle内置函数和...
在使用 WebLogic 服务器进行应用程序开发时,尤其是在处理 Oracle 数据库中的 CLOB 类型数据时,开发者可能会遇到类型转换的问题。本文将详细介绍如何通过反射机制来解决 WebLogic 环境下 Oracle CLOB 类型转换成 `...
Oracle数据库同样支持BLOB和CLOB数据类型,但需要特殊配置来处理来自其他数据库的大对象数据。 3. **特殊配置策略**: - **联邦能力**:利用WII的联邦功能,先将DB2中的非BLOB字段复制到Oracle目标表中。 - **...