`

Ibatis读写CLOB数据

 
阅读更多

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字段的方法

 

分享到:
评论

相关推荐

    ibatis oracle clob

    1. **插入CLOB数据**:在iBATIS的映射文件中,需要使用`&lt;clob&gt;`标签来处理CLOB字段。例如,当向数据库插入CLOB字段时,可以这样编写XML映射: ```xml INSERT INTO table_name (column_name) VALUES (#{value}) ...

    iBATIS操作Oracle CLOB数据

    本文将深入探讨如何在iBATIS中有效地处理Oracle的CLOB数据。 首先,我们需要了解什么是CLOB。CLOB是一种用于存储大量字符数据的数据类型,它可以容纳最大4GB的单个文本对象。在Oracle中,CLOB通常用于存储大段的...

    ibatis 读取oracle clob类型

    ibatis 读取oracle clob类型

    Spring+Struts+ibatis下配置数据读写分离及事务(一)

    本文将深入探讨如何在Spring、Struts和iBATIS这三大流行框架的集成环境中实现数据读写分离以及事务控制。我们将不涉及具体的代码实现,而是侧重于理论背景和设计原则。 首先,让我们理解数据读写分离的概念。数据...

    mybatis 对clob类型转换

    在实际操作中,可能会遇到如“数据过长”或“内存不足”等异常,这可能是因为CLOB数据超过了数据库或JVM的限制。为避免这些问题,可以考虑分段读写CLOB,或者调整数据库参数。另外,确保在MyBatis的...

    ibatis_数据缓存

    iBatis 数据缓存机制是提高数据库访问性能的重要手段,它允许将查询结果存储在内存中,以便后续相同查询能够快速获取数据,而无需每次都执行SQL查询。在深入理解iBatis的Cache概念之前,首先需要知道iBatis是一个轻...

    ibatis实现数据的操作

    本篇文章将详细讲解如何利用Ibatis实现数据的连接、增加、查询、删除和修改(CRUD)操作,以及.xml文件在SQL映射中的作用。 首先,Ibatis是一个轻量级的Java ORM(对象关系映射)框架,它的核心理念是将SQL语句与...

    ibatis3批量插入

    通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...

    ibatis 连接字符串 SqlMapConfig.xml

    这个文件是iBATIS的核心配置文件,它包含了数据源、事务管理器、SQL映射文件等信息,确保了应用程序能够正确地连接到数据库并执行SQL语句。 在SqlMapConfig.xml中,最重要的部分是数据库连接的配置,通常包括以下几...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis的配置文件`sqlmapConfig.xml`包含了数据源、事务管理器、SqlSessionFactory等核心设置。在Java代码中,可以使用如下的方式加载配置文件: ```java String resource = ...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis的出现,解决了传统JDBC中手动编写SQL和结果集映射的繁琐工作,提供了更加灵活的数据访问接口。 在"ibatis demo"中,我们通常会看到以下核心概念和知识点: 1. **配置文件**:Ibatis的配置文件(mybatis-...

    ibatis 数据缓存.pdf

    ibatis 数据缓存,讨论了ibatis 数据缓存方面的概念,即用法,用到ibatis 数据缓存的可以参考一下

    ibatis自定义数据类型在不支持中文的数据库存储汉字

    `iBatis`,作为一个轻量级的持久层框架,提供了自定义数据类型的功能,帮助我们在这些数据库中存储汉字。 `iBatis`是Java领域中广泛使用的SQL映射框架,它允许开发者将SQL语句直接写在配置文件中,与Java代码解耦,...

    Ibatis和Spring整合例子,实现增删改查功能

    Ibatis和Spring整合例子,实现增删改查功能.

    ibatis源码,ibatis源码 ibatis源码 ibatis源码

    iBatis的配置文件SqlMapConfig.xml是系统启动时加载的关键,它包含了数据源(DataSource)、事务管理器(TransactionManager)和SqlMap配置信息。解析这个XML文件的过程涉及到DOM或SAX解析器,源码中这部分功能通常...

    ibatis乱码解决方法(ibatis独立)

    - 如果是从文件中读取或写入数据,确保文件的读写操作使用了与数据库相同的编码格式。 8. **字符集转换**: - 使用Java的`Charset`类进行编码转换,如`new String(byte[], "GBK")`用于GBK编码的字符串转换。 ...

    ibatis应对批量update

    为了解决这个问题,ibatis(现已更名为MyBatis)提供了一种支持批量更新的机制,能够显著提高数据处理的速度。 #### 批量Update背景与问题 在实际应用中,经常会遇到需要批量更新数据库中的数据的情况,例如:商品...

Global site tag (gtag.js) - Google Analytics