使用MyBatis调用(DB2)存储过程的示例?

时间:2010-11-03 07:42:28

标签: java xml stored-procedures db2 mybatis

我正在开发一个用于调用sql存储过程的java应用程序。会有许多存储过程具有不同的IN和OUT参数。要调用的procs将通过XML文件配置。 java应用程序基本上只运行一个proc(在预定的时间,调度程序/ bat文件),然后收集统计信息(存储过程的OUT参数)并通过电子邮件发送详细信息。我还不知道的部分是为MyBatis定义XML。请欣赏输入和存储过程的MyBatis实现的例子吗?我现在没有找到任何东西。此外,如果对整体问题有更好,更清洁的方法。谢谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果您使用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>