使用MyBatis调用(DB2)存储过程的示例?
问题描述:
我正在开发一个调用sql存储过程的java应用程序。将有许多存储过程将有不同的IN和OUT参数。被调用的过程将通过XML文件进行配置。 java应用程序基本上只运行一个proc(在计划时间,scheduler/bat文件),然后收集统计数据(存储过程的OUT参数)并通过电子邮件发送详细信息。我还不知道的部分是为MyBatis定义XML。请感谢MyBatis实现存储过程的输入和示例吗?我现在没有找到任何权利。此外,如果有更好,更清洁的方法来解决整体问题。谢谢!使用MyBatis调用(DB2)存储过程的示例?
答
下面的代码片段可以帮助你使用MyBatis
<select id="queryid" parameterMap="paramMap" statementType="CALLABLE">
{CALL procedureName(#{param1, mode=IN, jdbcType=VARCHAR},
#{param2, mode=IN, jdbcType=INTEGER},
#{param3, mode=IN, jdbcType=VARCHAR},
#{param4, mode=IN, jdbcType=VARCHAR},
#{param5, mode=OUT, jdbcType=VARCHAR},
#{param6, mode=OUT, jdbcType=INTEGER})}
</select>
<parameterMap id="paramMap" type="Map">
<parameter property="param1" jdbcType="VARCHAR" javaType="String" mode="IN"></parameter>
<parameter property="param2" jdbcType="INTEGER" javaType="Integer" mode="IN"></parameter>
<parameter property="param3" jdbcType="VARCHAR" javaType="String" mode="IN"></parameter>
<parameter property="param4" jdbcType="VARCHAR" javaType="String" mode="IN"></parameter>
<parameter property="param5" jdbcType="VARCHAR" javaType="String" mode="OUT"></parameter>
<parameter property="param6" jdbcType="INTEGER" javaType="Integer" mode="OUT"></parameter>
</parameterMap>