如何在 ibatis 中传递的数据调用函数

Posted

技术标签:

【中文标题】如何在 ibatis 中传递的数据调用函数【英文标题】:How to call function over data being passed in ibatis 【发布时间】:2011-04-11 11:40:07 【问题描述】:

我需要调用一个内部函数,比如“calculateValue(value)”,它会根据传递的值返回一些字符串。

<select id="calculateValue" resultClass="java.lang.String" parameterClass="java.lang.String">
  SELECT calculateValue(#value#) FROM SYSIBM.SYSDUMMY1
</select>

上面的查询返回下面的错误。

com.ibatis.common.jdbc.exception.NestedSQLException: --- 错误发生在 mymapsql.xml。 --- 执行查询时发生错误。 --- 检查 SELECT calculateValue(?) FROM SYSIBM.SYSDUMMY1 . --- 检查 SQL 语句(准备失败)。 --- 原因:java.sql.SQLException: [SQL0418] 参数标记的使用无效。

如何在作为参数传递的值上调用函数calculateValue()?

【问题讨论】:

【参考方案1】:

使用过程标签&lt;procedure&gt;调用存储过程。

<procedure id="procId" resultClass="ResultClass"
          parameterMap="getMap">
 call getResult( #param# )  
</procedure>

【讨论】:

【参考方案2】:

我首先使用选择标记调用存储过程“calculateValue()”是错误的。我现在为此使用过程标记

【讨论】:

以上是关于如何在 ibatis 中传递的数据调用函数的主要内容,如果未能解决你的问题,请参考以下文章

C#在方法调用中,参数按值传递与按引用传递的区别是啥?

在C语言中,定义一个函数的形参和实参之间具体是如何进行参数传递的?

如何理解Java的值传递

如何通过调用函数将数据从视图传递到子视图?

调用微风函数时如何将数据绑定值作为参数传递

如何传递要在 Pyside2 中调用的函数?