Mybatis注解方式调用存储过程,对输出参数的结果进行处理
一、储存过程输出参数是基本类型
-
如果存储过程的输出参数是基本类型,如Number,Float,varchar等,如下
CREATE OR REPLACE PROCEDURE get_CI( v_code IN VARCHAR2, v_order IN NUMBER, v_retcode OUT NUMBER )
-
在@Select注解上写法如下:
这里我把输入参数放进gspCityVo里面了,可以直接使用map.XXX,同输出一样,加上mode=in;
- 同过map.get(“key”)可以获取到输出结果的值;
二、如果输出参数的类型是游标cursor
-
输出参数为游标的存储过程,如下:
CREATE OR REPLACE PROCEDURE get_CI( v_code IN VARCHAR2, v_order IN NUMBER, v_retcode OUT SYS_REFCURSOR )
-
@Select写法如下:
这里需要注意,游标类型的结果返回的是一个结果集,所以必须用resultsMap进行结果集映射,如果用单个字段是接收不到的
- 获取值的方法同上;