Ibatis读写CLOB数据
注意:需要更新ORACLE数据库最新的驱动如,我用的11G的数据库,就更新驱动为ojdbc6.jar
如果使用ojdbc14.jar会提示:
java.sql.SQLException: 数据大小超出此类型的最大值
以下转自:http://www.iteye.com/topic/393238
由于最近要用ibatis操作Oracle的CLOB字段,结合以前的牛人发布的用ibatis操作clob字段的经验,发现以前的方法如今不再合适,现在操作CLOB字段变得更简单了。下面说下我是如何操作的。
1、jar包 我用的ibatis-2.3.4.726.jar,oracle-11g.jar(oracle11g的jar包,名字自己改了下的)
2、数据结构
CREATE TABLE "M_MODEL" (
"MODELID" VARCHAR2(128) NOT NULL,
"MODEL_HTML" CLOB,
CONSTRAINT PK_M_MODEL PRIMARY KEY ("MODELID")
);
3、sqlMap
<!-- 更新 -->
<update id="updateModelHtml" parameterClass="java.util.Map">
update m_model set model_html=#modelHtml# where modelid=#modelId#
</update>
<!-- 查询 -->
<resultMap class="model" id="Model_htmlMap">
<result property="modelId" column="modelid" javaType="String"/>
<result property="modelHtml" column="model_html" nullValue="" javaType="java.lang.String" jdbcType="CLOB"/>
</resultMap>
<select id="getModelById" parameterClass="long" resultMap="Model_htmlMap">
SELECT t1.MODELID,t1.model_html
FROM M_MODEL t1
WHERE MODELID=#MODELID#
ORDER BY t1.MODELID
</select>
4、DAO的JAVA代码
//更新
public void updateModelHtml(String modelId, String modelHtml) {
Map<String, String> map = new HashMap<String, String>(2);
map.put("modelId", modelId);
map.put("modelHtml", modelHtml);
this.getSqlMapClientTemplate().update("updateModelHtml", map);
}
//查询
public List<Model> getModelById(long modelId) {
return this.getSqlMapClientTemplate().queryForList("getModelById", modelId);
}
如此,不需要其他的什么OracleClobTypeHandlerCallback 类,也不需要配置ParameterMap,就能达到读写CLOB字段的方法
分享到:
相关推荐
1. **插入CLOB数据**:在iBATIS的映射文件中,需要使用`<clob>`标签来处理CLOB字段。例如,当向数据库插入CLOB字段时,可以这样编写XML映射: ```xml INSERT INTO table_name (column_name) VALUES (#{value}) ...
本文将深入探讨如何在iBATIS中有效地处理Oracle的CLOB数据。 首先,我们需要了解什么是CLOB。CLOB是一种用于存储大量字符数据的数据类型,它可以容纳最大4GB的单个文本对象。在Oracle中,CLOB通常用于存储大段的...
ibatis 读取oracle clob类型
本文将深入探讨如何在Spring、Struts和iBATIS这三大流行框架的集成环境中实现数据读写分离以及事务控制。我们将不涉及具体的代码实现,而是侧重于理论背景和设计原则。 首先,让我们理解数据读写分离的概念。数据...
在实际操作中,可能会遇到如“数据过长”或“内存不足”等异常,这可能是因为CLOB数据超过了数据库或JVM的限制。为避免这些问题,可以考虑分段读写CLOB,或者调整数据库参数。另外,确保在MyBatis的...
iBatis 数据缓存机制是提高数据库访问性能的重要手段,它允许将查询结果存储在内存中,以便后续相同查询能够快速获取数据,而无需每次都执行SQL查询。在深入理解iBatis的Cache概念之前,首先需要知道iBatis是一个轻...
本篇文章将详细讲解如何利用Ibatis实现数据的连接、增加、查询、删除和修改(CRUD)操作,以及.xml文件在SQL映射中的作用。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它的核心理念是将SQL语句与...
通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...
这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器、SQL映射文件等信息,确保了应用程序能够正确地连接到数据库并执行SQL语句。 在SqlMapConfig.xml中,最重要的部分是数据库连接的配置,通常包括以下几...
Ibatis的配置文件`sqlmapConfig.xml`包含了数据源、事务管理器、SqlSessionFactory等核心设置。在Java代码中,可以使用如下的方式加载配置文件: ```java String resource = ...
Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,提供了更加灵活的数据访问接口。 在"ibatis demo"中,我们通常会看到以下核心概念和知识点: 1. **配置文件**:Ibatis的配置文件(mybatis-...
ibatis 数据缓存,讨论了ibatis 数据缓存方面的概念,即用法,用到ibatis 数据缓存的可以参考一下
`iBatis`,作为一个轻量级的持久层框架,提供了自定义数据类型的功能,帮助我们在这些数据库中存储汉字。 `iBatis`是Java领域中广泛使用的SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码解耦,...
Ibatis和Spring整合例子,实现增删改查功能.
iBatis的配置文件SqlMapConfig.xml是系统启动时加载的关键,它包含了数据源(DataSource)、事务管理器(TransactionManager)和SqlMap配置信息。解析这个XML文件的过程涉及到DOM或SAX解析器,源码中这部分功能通常...
- 如果是从文件中读取或写入数据,确保文件的读写操作使用了与数据库相同的编码格式。 8. **字符集转换**: - 使用Java的`Charset`类进行编码转换,如`new String(byte[], "GBK")`用于GBK编码的字符串转换。 ...
为了解决这个问题,ibatis(现已更名为MyBatis)提供了一种支持批量更新的机制,能够显著提高数据处理的速度。 #### 批量Update背景与问题 在实际应用中,经常会遇到需要批量更新数据库中的数据的情况,例如:商品...