iBATIS讀寫CLOB數(shù)據(jù)淺析
由于最近要用iBATIS操作Oracle的CLOB字段,結(jié)合以前的牛人發(fā)布的用iBATIS操作Clob字段的經(jīng)驗,發(fā)現(xiàn)以前的方法如今不再合適,現(xiàn)在操作CLOB字段變得更簡單了。下面說下我是如何操作的。
iBATIS讀寫CLOB數(shù)據(jù)步驟1、jar包 我用的iBATIS-2.3.4.726.jar,oracle-11g.jar(oracle11g的jar包,名字自己改了下的)
iBATIS讀寫CLOB數(shù)據(jù)步驟2、數(shù)據(jù)結(jié)構(gòu)
Sql代碼
- CREATE TABLE "M_MODEL" (
- "MODELID" VARCHAR2(128) NOT NULL,
- "MODEL_HTML" CLOB,
- CONSTRAINT PK_M_MODEL PRIMARY KEY ("MODELID")
- );
- CREATE TABLE "M_MODEL" (
- "MODELID" VARCHAR2(128) NOT NULL,
- "MODEL_HTML" CLOB,
- CONSTRAINT PK_M_MODEL PRIMARY KEY ("MODELID")
- );
iBATIS讀寫CLOB數(shù)據(jù)步驟3、sqlMap
Xml代碼
- ﹤!-- 更新 --﹥
- ﹤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﹥
iBATIS讀寫CLOB數(shù)據(jù)步驟4、DAO的JAVA代碼
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,就能達(dá)到讀寫CLOB字段的方法。
iBATIS讀寫CLOB數(shù)據(jù)的步驟就向你介紹到這里,通過介紹是不是對iBATIS讀寫CLOB數(shù)據(jù)有了一定的了解了呢。
【編輯推薦】