【问题标题】:MyBatis - Map a stored proc output param value to a POJOMyBatis - 将存储的 proc 输出参数值映射到 POJO
【发布时间】:2013-07-26 14:05:05
【问题描述】:

基本上,我想将存储过程中的输出参数(数字)映射到基本 POJO 的属性。事实证明这比我想象的要复杂一些。我有以下设置:

<resultMap id="BaseResultMap" type="myPOJO">
<result property="pojoPropertyToHaveValueMappedTo" />
</resultMap>

<select id="selectOne" parameterType="com.ParameterType" statementType="CALLABLE" resultMap="BaseResultMap">
{call theDB.my_stored_proc
(#{numberSpReturns,jdbcType=NUMERIC, mode=OUT})}
/select>

调用存储过程很好,我得到了我期望的返回数值。但是,我肯定必须能够将此返回值映射到我的 POJO 中的属性???

【问题讨论】:

  • 如果您将结果属性设置为从不存在的列中提取,我相信它会引发错误。如果您在该错误位置之前设置断点,我相信您可以调试输出并查看可用的结果列/属性。包含数据的列可能像“值”这样简单,或者可能是变量的名称。

标签: java stored-procedures ibatis mybatis pojo


【解决方案1】:

结果映射用于遍历结果集。在您的情况下,您可以定义自己的 TypeHandler 来处理 NUMERIC 到 POJO 的映射。像这样的:

(#{numberSpReturns,jdbcType=NUMERIC, mode=OUT, javaType=myPOJO, typeHandler=yourTypeHandler})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 2017-03-31
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多