java - mybatis spring ref 光标映射

标签 java spring oracle stored-procedures mybatis

我正在使用 mybatis-spring 并尝试从 oracle 映射引用游标。结果返回为空。请问有什么想法吗?

<select id="check" parameterType="myVO" 
        resultMap="VOResultMap" statementType="CALLABLE" resultType="object">
{ call MYPKG.proc_check(
        #{myVO.id, javaType=String, jdbcType=VARCHAR,mode=IN},
        #{myVO, mode=OUT, javaType=ResultSet, jdbcType=CURSOR, resultMap=VOResultMap}
)}  

SP:

PROCEDURE proc_check (        
    p_id IN VARCHAR2, po_outCursor OUT SYS_REFCURSOR)
IS
BEGIN        
        OPEN po_outCursor FOR 
            SELECT * FROM MYTABLE; 
END;

map :

<resultMap id="VOResultMap" type="myVO">
    <result property="action" column="ACTION" />
    <result property="id" column="ID" />
    <result property="name" column="NAME" />
</resultMap>

DAO:

public MyVO check(@Param("VO") MyVO myVO);

用法:

MyVO myVO = new MyVO(id);
MyVO obj = myDAO.check(myVO);
// obj is null !!

非常感谢,

最佳答案

好的,从 java 端你需要使用 map 。

在xml中设置parameterType=“java.util.Map” 在Java中放置“in”参数,即map.put(“id”,identifier);

接口(interface)现在可以返回 void。 然后调用接口(interface),如myDAO.check(myMap);

调用myMap.get("myVO")后,你会得到一个List。

关于java - mybatis spring ref 光标映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622605/

相关文章:

java - 添加新值时自定义 ListView 值会波动吗?

java - 创建名称为 'securityConfig' 的 bean 时出错, Autowiring 依赖项注入(inject)失败;异常 java.lang.IllegalArgumentException

java - 在 Eclipse 中跨文件搜索注释掉的代码

java - 带有 @JsonProperty defaultValue 处理的 Jackson 模块

java - Spring - 调用具有复杂结果的存储函数

java - Oracle JDBC 连接 : no ocijdbc9 in java. library.path

java - 内存泄漏与优化

java - 对我来说是 spring-batch,即使我没有使用 itemReader 和 itemWriter?

php - 从 PHP Oracle DB 中的不同表检索

c++ - 在 Pro*C 中使用 LIKE