我正在使用mybatis 3.4.4和Oracle db。我想插入一个对象并获取它的生成ID。为此目的我有以下代码。 在mapper.xml中:
<insert id="createAsset" useGeneratedKeys="true" keyProperty="asset.id" keyColumn="ID" parameterType="Asset">
在mapper界面中:
Long createAsset(@Param("asset") Asset asset);
我收到此错误:
org.apache.ibatis.executor.ExecutorException:获取生成密钥或将结果设置为参数对象时出错。原因:java.lang.NullPointerException
我检查了this问题,该问题与我的问题基本相同,并且作者声称已通过更新版本解决了问题。我确定我有最新版本,问题仍然存在。
请帮忙吗?
答案 0 :(得分:0)
bean结构和给定的异常使我认为MyBatis希望找到&#34;资产&#34;字段已经填充了&#34;资产&#34;对象实例,虽然它是null。
此外,我认为&#34; parameterType&#34;必须表明&#34; id&#34;的类型字段(可能是整数?),而不是字段容器的类型(资产)。