本人开发用的oracle9i,接收CONFIG_VALUE CLOB类型的字段我用的是字符串类型的,在ibatis中有条sql是这样写的:
<resultMap id="baseconfigMap" class="baseconfig" >
<result column="CONFIG_ID" property="configId"/>
<result column="CONFIG_VALUE" property="configValue" />
<result column="ISDELETE" property="isDelete"/>
</resultMap>
<select id="IbatisBaseConfigDAO.queryBaseConfigById" parameterClass="int" resultMap="baseconfigMap">
SELECT CONFIG_ID,to_char(CONFIG_VALUE) as CONFIG_VALUE,ISDELETE FROM X_TM_CONFIG WHERE CONFIG_ID = #value#
</select>
这样对于字段的值小于4000才有效,现在由于系统升级,字段值有可能会大于4000,如果超过了4000上面的sql就会报错了,不用我解释为什么了吧?
现在我需要就是超过4000一样可以执行,我用过如下的办法:
1.去掉to_char(),可以成功,但是在unix系统中就不行了
<select id="IbatisBaseConfigDAO.queryBaseConfigById" parameterClass="int" resultMap="baseconfigMap">
SELECT CONFIG_ID,CONFIG_VALUE as CONFIG_VALUE,ISDELETE FROM X_TM_CONFIG WHERE CONFIG_ID = #value#
</select>
2.试着在对应关系中加下转换:不行
<resultMap id="baseconfigMap" class="baseconfig" >
.............................
<result property="configValue" column="CONFIG_VALUE" jdbcType="CLOB" javaType = "java.lang.String" typeHandler =" OracleClobTypeHandlerCallback "/>
</resultMap>
我需要更好的办法,望高手们帮帮位帮我解决下,谢谢!!!!
<resultMap id="baseconfigMap" class="baseconfig" >
<result column="CONFIG_ID" property="configId"/>
<result column="CONFIG_VALUE" property="configValue" />
<result column="ISDELETE" property="isDelete"/>
</resultMap>
<select id="IbatisBaseConfigDAO.queryBaseConfigById" parameterClass="int" resultMap="baseconfigMap">
SELECT CONFIG_ID,to_char(CONFIG_VALUE) as CONFIG_VALUE,ISDELETE FROM X_TM_CONFIG WHERE CONFIG_ID = #value#
</select>
这样对于字段的值小于4000才有效,现在由于系统升级,字段值有可能会大于4000,如果超过了4000上面的sql就会报错了,不用我解释为什么了吧?
现在我需要就是超过4000一样可以执行,我用过如下的办法:
1.去掉to_char(),可以成功,但是在unix系统中就不行了
<select id="IbatisBaseConfigDAO.queryBaseConfigById" parameterClass="int" resultMap="baseconfigMap">
SELECT CONFIG_ID,CONFIG_VALUE as CONFIG_VALUE,ISDELETE FROM X_TM_CONFIG WHERE CONFIG_ID = #value#
</select>
2.试着在对应关系中加下转换:不行
<resultMap id="baseconfigMap" class="baseconfig" >
.............................
<result property="configValue" column="CONFIG_VALUE" jdbcType="CLOB" javaType = "java.lang.String" typeHandler =" OracleClobTypeHandlerCallback "/>
</resultMap>
我需要更好的办法,望高手们帮帮位帮我解决下,谢谢!!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货