通过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" 大写!
本文介绍了一个关于使用Ibatis框架返回字符串时遇到的错误及其解决方案。主要问题出现在jdbcType属性设置上,应将其从varchar更改为VARCHAR以确保正确执行。
1115

被折叠的 条评论
为什么被折叠?



