读书人

ibatis 配备 oracle 存储过程

发布时间: 2013-03-26 21:09:08 作者: rapoo

ibatis 配置 oracle 存储过程
话就不多说。直接看代码吧;自己理解记录,不是很恰当。
欢迎拍砖!!!

        <!-- 自定一个map容器,跟存储过程中输入变量一致 --><parameterMap id="tableTempl">        <!-- 指定传入参数的java类型和jdbc类型  mode="IN" 表示输入;"OUT":输出参数--><parameter property="TEMP_TIME" jdbcType="VARCHAR"javaType="string" mode="IN" /><parameter property="TEMP_ID" jdbcType="VARCHAR"javaType="string" mode="IN" /><parameter property="TEMP_NAME" jdbcType="VARCHAR"javaType="string" mode="IN" /><parameter property="TEMP_REMARK" jdbcType="VARCHAR"javaType="string" mode="IN" /></parameterMap>        <!-- 自定一个sqlmap-ID parameterMap指定为上面定义的map(重要)--><procedure id="SP_SysClientBaseTempTable" parameterMap="tableTempl">        <!-- <![CDATA[ 语句 ]]> 其中:<![CDATA[ ]]> 最好不要换行--><![CDATA[{call sp_client_base_template(?,?,?,?)}]]></procedure><parameterMap id="tableColTempl"><parameter property="TEMP_ITEM" jdbcType="VARCHAR"javaType="string" mode="IN" /><parameter property="TEMP_ID" jdbcType="VARCHAR"javaType="string" mode="IN" /><parameter property="TEMP_ITEM_NA" jdbcType="VARCHAR"javaType="string" mode="IN" /><parameter property="TEMP_TIME_DEC" jdbcType="VARCHAR"javaType="string" mode="IN" /></parameterMap><procedure id="SP_SysClientBaseTempTableCol" parameterMap="tableColTempl"><![CDATA[{call sp_client_base_template_col(?,?,?,?)}]]></procedure>

配置完毕后,看java代码;
basedao为自定义dao操作接口;以spring注入了sqlMapClient(org.springframework.orm.ibatis.SqlMapClientFactoryBean)

//tabDataMap 对应 sqlmap配置中的 tableTemplbasedao.queryForObject("client_core_common.SP_SysClientBaseTempTable",tabDataMap);//tabColMap 对应 sqlmap配置中的 tableColTemplHashMap tabColMap = (HashMap)tabColList.get(i);basedao.queryForObject("client_core_common.SP_SysClientBaseTempTableCol",tabColMap);


以上map集合中的tabDataMap 和 tabColMap
内容为:
tabDataMap = [{"TEMP_TIME":"2011-10-10 16:59:45","TEMP_NAME":"公文交 换","TEMP_REMARK":"123123","TEMP_ID":"201191165945703"}] 

tabColMap = [{"TEMP_TIME_DEC":"正文","TEMP_ITEM_NA":"正文","TEMP_ID":"201191165945703","TEMP_ITEM":"DOC_TEXT"},{"TEMP_TIME_DEC":"附件字段15","TEMP_ITEM_NA":"附件字段15","TEMP_ID":"201191165945703","TEMP_ITEM":"ADDITIONAL10"},{"TEMP_TIME_DEC":"附件字段9","TEMP_ITEM_NA":"附件字段9"}]


结束!按照以上配置保你ibatis配置存储过程没有问题。


我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html

读书人网 >编程

热点推荐