У меня возникла проблема с получением свойства из myBatis. Он говорит java.lang.NullPointerException
. Я хочу получить только user_id
из карты результатов, которая автоматически создается после использования функции для вставки значений в базу данных (я использую oracle 10g).Как получить значение от 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' равно NULL, вы можете отлаживать его, если он равен null. – Blank
ладно спасибо @Reno! – chiliflavor