iBatis 3、JAVA、ORACLE和函数
我在ORACLE中有一个函数,它花费很长时间并返回一个字符串
FUNCTION "GEN_NEXT_COD_NRE" (AN_ID_MEDIC IN NUMBER)
RETURN VARCHAR2
正如我所读到的,在iBATIS3中没有标签,也没有要设置的in或OUT映射
所以在我的刀里,我有这样的东西:
public String createNextNre(MedicContract contract);
我的地图是:
<select id="createNextNre" statementType="CALLABLE" resultType="string" parameterType="MedicContract">
{? = call GEN_NEXT_COD_NRE(#{idMedic})}
</select>
不幸的是,这种方法行不通。这就是错误:
SQLException: Missing IN or OUT parameter at index:: 2
问题在哪里
# 1 楼答案
看着how to call stored function with mybatis和胡闹,我通过简单的做得到了类似于工作的东西
这是因为在Oracle中,函数可以在select语句中调用。或者,如果将参数类设置为保留OUT param,调用语法也会起作用:
用TestBean。java是:
请注意,OUT参数是在参数类上设置的,而不是结果,因此您需要在DAO方法中对此进行一些操作:
你发帖子已经有一段时间了,所以你可能已经知道了,但我发现这是我自己在寻找答案,所以我想我应该回复