Supported Types for Parameter Maps and Result Maps
The Java types supported by the iBATIS framework for parameters and results are as follows:
Java Type
boolean
java.lang.Boolean
byte
java.lang.Byte
short
java.lang.Short
int
java.lang.Integer
long
java.lang.Long
float
java.lang.Float
double
java.lang.Double
java.lang.String
java.util.Date
java.math.BigDecimal
* java.sql.Date
* java.sql.Time
* java.sql.Timestamp

解决方案 »

  1.   

    感谢KimSoft,但我要的是jdbcType。查到对应应该是DOUBLE,但是不知怎么回事就是有问题。可能是我描述不够细,我把我的想法和问题再详细描述一遍:
    1、背景
    有一Oracle的procedure,设为:user.package_name.procedure_name(p_money out number)。目前想通过iBATIS调用此存储过程来获取返回的参数p_money。因此设计一DTO类,设为XXX.XXX.MoneyDTO,包含一变量private double money。
    2、实现
    iBATIS中如下配置:
    <parameterMap id="procedureParaMap" class="XXX.XXX.MoneyDTO">
      <parameter property="money" jdbcType="DOUBLE" javaType="java.lang.Double" mode="OUT">
    </parameterMap><procedure id="procedure" parameterMap="procedureParaMap">
      {call user.package_name.procedure_name(?)}
    </procedure>
    3、问题
    现在的问题是,运行的时候老是报procedureParaMap OUT 参数的错误。
      

  2.   

    一般Ibatis对数字型的,好像推荐使用 java.math.BigDecimal;
      

  3.   

    <parameterMap id="procedureParaMap" class="XXX.XXX.MoneyDTO">
    <parameter property="money" jdbcType="NUMERIC" javaType="java.lang.Double" mode="OUT">
    </parameterMap>这样看看
      

  4.   

    <parameterMap id="procedureParaMap" class="XXX.XXX.MoneyDTO">
    <parameter property="money" jdbcType="NUMERIC" javaType="java.lang.Double" mode="OUT">
    </parameterMap>
     上樓的是對的.