【发布时间】:2016-08-24 07:02:37
【问题描述】:
我在从 myBatis 检索属性时遇到问题。它说java.lang.NullPointerException。我想要的是只从结果映射中获取user_id,它是在使用函数将值插入数据库后自动生成的(我使用的是oracle 10g)。
我的映射器中的代码如下
<resultMap type="User" id="userMap">
<result property="userId" column="user_id"/>
<result property="someProperty1" column="property_1"/>
<result property="someProperty2" column="property_2"/>
</resultMap>
<insert id="addUser" parameterType="map" statementType="CALLABLE">
{ CALL
#{userResult, javaType=java.sql.ResultSet, jdbcType=CURSOR, mode=OUT, resultMap=userMap} :=
PROJECT.create_user(
#{surname, javaType=String, jdbcType=VARCHAR, mode=IN},
#{givenName, javaType=String, jdbcType=VARCHAR, mode=IN},
#{middleName, javaType=String, jdbcType=VARCHAR, mode=IN}
)}
</insert>
这里是java.lang.NullPointerException 出现的地方
return Integer.parseInt(paramMap.get("userId").toString());
我正在使用private Map<String, Object> paramMap = new HashMap<String, Object>(); 似乎我使用了paramMap.get("userId") 是错误的,但我不确定。
任何建议或提示都会非常有帮助!非常感谢!
【问题讨论】:
-
可能
paramMap或userId为null,你可以调试看看哪个为null。 -
好的,谢谢@Reno!