文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Ibatis读写CLOB数据

Ibatis读写CLOB数据

时间:2010-10-08  来源:风中绝响

由于最近要用ibatis操作Oracle的CLOB字段,结合以前的牛人发布的用ibatis操作clob字段的经验,发现以前的方法如今不再合适,现在操作CLOB字段变得更简单了。下面说下我是如何操作的。

1、jar包  我用的ibatis-2.3.4.726.jar,oracle-11g.jar(oracle11g的jar包,名字自己改了下的)

2、数据结构

Sql代码
  1. CREATE TABLE "M_MODEL"  (  
  2.    "MODELID"            VARCHAR2(128)                   NOT NULL,  
  3.    "MODEL_HTML"         CLOB,  
  4.    CONSTRAINT PK_M_MODEL PRIMARY KEY ("MODELID")  
  5. );  
CREATE TABLE "M_MODEL"  (
   "MODELID"            VARCHAR2(128)                   NOT NULL,
   "MODEL_HTML"         CLOB,
   CONSTRAINT PK_M_MODEL PRIMARY KEY ("MODELID")
);

 3、sqlMap

Xml代码
  1. <!-- 更新 -->  
  2. <update id="updateModelHtml" parameterClass="java.util.Map">  
  3.     update m_model set model_html=#modelHtml# where modelid=#modelId#  
  4. </update>  
  5.   
  6. <!-- 查询 -->  
  7.   
  8. <resultMap class="model" id="Model_htmlMap">  
  9.          <result property="modelId" column="modelid" javaType="String"/>  
  10.          <result property="modelHtml" column="model_html" nullValue="" javaType="java.lang.String" jdbcType="CLOB"/>  
  11.   </resultMap>  
  12. <select id="getModelById" parameterClass="long" resultMap="Model_htmlMap">  
  13.     SELECT t1.MODELID,t1.model_html  
  14.     FROM M_MODEL t1  
  15.                 WHERE MODELID=#MODELID#  
  16.         ORDER BY t1.MODELID  
  17.   </select>  
<!-- 更新 -->
<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代码

Java代码
  1. //更新  
  2. public void updateModelHtml(String modelId, String modelHtml) {  
  3.     Map<String, String> map = new HashMap<String, String>(2);  
  4.     map.put("modelId", modelId);  
  5.     map.put("modelHtml", modelHtml);  
  6.     this.getSqlMapClientTemplate().update("updateModelHtml", map);  
  7.   
  8. }  
  9.   
  10. //查询  
  11. public List<Model> getModelById(long modelId) {  
  12.     return this.getSqlMapClientTemplate().queryForList("getModelById", modelId);  
  13. }  
//更新
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字段的方法。我测试的字符数是12000左右

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载