存储过程调用
传入参数与读取返回值
标量值可以通过 IN、OUT、INOUT 参数传递。例如创建一个计算两数之和的存储过程:
CREATE PROCEDURE add_numbers @a INT, @b INT, @result INT OUTPUT AS
SET @result = @a + @b;
将完整定义作为一条 语句执行。调用时绑定输入值,并声明返回参数:
Map<String, Object> result = jdbc.call(
"{call add_numbers(?, ?, ?)}",
new Object[] { 10, 5, SqlArg.asInOut("result", 0, Types.INTEGER) });
Integer sum = (Integer) result.get("result"); // 15
也支持命名参数、参数类型配置和多个标量返回值。不支持将返回参数配置为 JDBC REF_CURSOR 来映射游标;过程直接返回记录时,使用结果集规则,不要声明 REF_CURSOR 参数。