通过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" 大写!