2010-11-03 123 views
0

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

回答

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>