|
话就不多说。直接看代码吧;自己理解记录,不是很恰当。
欢迎拍砖!!!
<!-- 自定一个map容器,跟存储过程中输入变量一致 --><parameterMap class="hashmap" 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 class="hashmap" 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配置存储过程没有问题。 |
|