我正在使用 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/