我正在使用MyBatis调用PL SQL数据库中的一个函数。该函数中有一个OUT参数为布尔值,如下所示:
FUNCTION f_foo_function(foo IN VARCHAR, foo_output OUT BOOLEAN, error OUT VARCHAR2)
我的问题是,当我试图从xml映射器调用函数时,每次尝试mybatis都不能识别布尔输出,并抛出me和错误,就像不兼容的类型一样。另外,当我试图从PLSQL Developer测试该函数时,它会进行如下转换:pout_boolean_result:=sys.diutil.bool_to_int(pout_boolean_result);
并以位形式返回布尔值。
忽略这个整数并指定MyBatis将输出视为布尔值是正确的?我怎么能那么做?
我的xml如下所示:
<select id="getFooFunction" statementType="CALLABLE">
{#{result, mode=OUT, jdbcType=INTEGER} = call f_foo_function
(
#{foo, mode=IN, jdbcType=VARCHAR},
#{foo_output, mode=OUT, jdbcType=DOUBLE},
#{error, mode=OUT, jdbcType=VARCHAR}
)
}
</select>
为了测试它,我将函数定义如下。
create or replace function f_foo_function(
foo in varchar,
foo_output out integer,
error out varchar2
) return integer is
begin
foo_output := 1;
error := 'No error';
return 99;
end;
foo_output
定义为integer
,因为boolean
是无效的,正如APC指出的那样。
映射器方法定义为...
void getFooFunction(FooFuncParam param);
public class FooFuncParam {
private Integer result;
private String foo;
private boolean fooOutput;
private String error;
// getters/setters
}
<update id="getFooFunction" statementType="CALLABLE">
{#{result,jdbcType=INTEGER,mode=OUT} = call f_foo_function(
#{foo,mode=IN},
#{fooOutput,jdbcType=INTEGER,javaType=_boolean,mode=OUT},
#{error,jdbcType=VARCHAR,mode=OUT})}
</update>
问题内容: 我正在使用Postgresql 8.3,并具有以下简单功能,该功能会将a返回 给客户端 现在,我可以使用以下SQL命令来调用此函数并操纵返回的游标,但是游标名称是由PostgreSQL自动生成的 此外,如38.7.3.5中所述,显式地将游标名称声明为函数的输入参数 。返回游标。我可以声明自己的游标名称并使用此游标名称来操纵返回的游标,而不是为我自动生成的Postgresql吗?如果不是
问题内容: 我如何使这个小功能“ imageExists”返回ajax请求是否成功? 问题答案: 我相信您将必须使用同步模式并使用单独的变量来存储返回值。
我找到了一些很好的SO链接(如何从异步回调函数返回值?以及从node.js中的回调函数返回值等),但它们并不是不能为我的问题提供解决方案。 我的问题:能够得到异步调用的结果,但我如何使用这个结果返回我的函数? 这里获取callBackResponse的值为true或false,并希望将该值用作:
在VueJS中,我尝试使用axios返回布尔值 console.log刚刚返回 Promise{[[PromiseState]]:"待定",[[PromiseValue]]:未定义} 但我想要的回报不是真就是假。
问题内容: 我有一些EditText,用户可以输入ftp地址,用户名,密码,端口和testConnection按钮。如果成功建立连接,它将返回布尔值true。 我正在重新编写代码以使用AsyncTasks执行各种ftp操作,但是,如果连接成功,如何传递布尔值? 还有我的AsyncTask 问题答案: 如果myMethod从onPostExecute内部代码调用,它将在UI线程上运行。否则,你需要通