Ibatis调用sql2000存储过程返回值

通过Ibatis返回一个字符串;一直报错!配置如下:
sqlMap:
<parameterMap id="pm_in_applyKobei" class="java.util.Map">
<parameter property="userId" javaType="int" jdbcType="INTEGER" mode="INOUT" />
<parameter property="rtnStr" javaType="string" jdbcType="varchar" mode="INOUT" />
</parameterMap>
<procedure id="duankoo_validKooBei" parameterMap="pm_in_applyKobei">
{call duankoo_validKooBei(?,?)}
</procedure>

procedure:已经在分析器里面调试通过;

javaCode:
public String applyKoBei(Integer userId) {
String rtnStr = "";
HashMap map = new HashMap();
map.put("userId", 2);
map.put("rtnStr", rtnStr);
this.getSqlMapClientTemplate().queryForObject("integral.duankoo_validKooBei",map);
return (String)map.get("rtnStr");
}

一直报错:
Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [HY092]; error code [0];  
--- The error occurred in com/duankoo/apps/dao/integral/integral.xml.
--- The error occurred while executing query procedure.
--- Check the {call duankoo_validKooBei(?,?)}.
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: Invalid java.sql.Types constant value -99999999 passed to set or update method.; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in com/duankoo/apps/dao/integral/integral.xml.
--- The error occurred while executing query procedure.
--- Check the {call duankoo_validKooBei(?,?)}.
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: Invalid java.sql.Types constant value -99999999 passed to set or update method.

 

 

 

 

最后查实错误原因: jdbcType="varchar" 应该为 : jdbcType="VARCHAR" 大写!

你可能感兴趣的:(java,DAO,sql,ibatis,jdbc)