我正在开发一个用于调用sql存储过程的java应用程序。会有许多存储过程具有不同的IN和OUT参数。要调用的procs将通过XML文件配置。 java应用程序基本上只运行一个proc(在预定的时间,调度程序/ bat文件),然后收集统计信息(存储过程的OUT参数)并通过电子邮件发送详细信息。我还不知道的部分是为MyBatis定义XML。请欣赏输入和存储过程的MyBatis实现的例子吗?我现在没有找到任何东西。此外,如果对整体问题有更好,更清洁的方法。谢谢!
答案 0 :(得分:0)
不是IBatis的专家,但我确实找到了几个例子:
http://www.mail-archive.com/user-java@ibatis.apache.org/msg10286.html
http://www.apacheserver.net/How-to-get-output-from-stored-procedure-to-ibatis-class-at1039903.htm
希望这会有所帮助......
答案 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>