我在從myBatis中檢索屬性時遇到問題。它說java.lang.NullPointerException
。我想要的是從使用函數向數據庫插入值(我正在使用oracle 10g)後自動生成的結果地圖中獲取user_id
。如何從MyBatis獲取值?
我在我的映射代碼如下
<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'爲空,你可以調試它看看哪一個是空的。 – Blank
好的,謝謝@Reno! – chiliflavor