存储过程返回2结果设置Mybatis 3



我在mybatis 3中面临问题。我有一个存储过程,该过程返回两个结果集(object 1的结果集,object2的结果集(。

我为每个结果集创建了一个结果删除

object1的结果映射(创建一个pojo object1(
object2的结果映射(创建一个Pojo Object2(

给出这样的东西:

    <resultMap id="object1" type="Object1" />
    
    <resultMap id="object2" type="Object2" />

并且为了呼叫存储的proc,我有一个:

    <select id="pscall" parameterType="Integer" 
        resultMap="object1,object2" statementType="CALLABLE">       
        { CALL PS(
            #{id, mode=IN},
        ) }
    </select>

现在执行所有这些时,我有效地获得了两个列表,其中有两个列表和object2所需的数字,但是这两个列表中充满了空对象,就像我得到的第一个列表一样,我得到了3个元素,它们都是null和第二个元素元素所有null。

我知道我在映射时犯了一些问题,但是在这一点上,我看不到问题在哪里。

您要我们推论很多,但是我认为很明显,多个结果设置处理的基本机制正常工作(您得到了正确数量的对象(。无效的是将行映射到对象。只有当object1和object2没有任何匹配列的列的属性时,才能发生这种情况。

例如,如果第一个结果集包含" ID,描述",则Object1必须具有" ID"one_answers" Description"属性(这是情况不敏感(。

如果您不知道SP会返回什么,则将每个<resultMap>type更改为map。然后mybatis将构建地图列表,您可以在地图中查看以查看SP及其列名称的值。

相关内容

  • 没有找到相关文章

最新更新