报错信息:
Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Could not determine which parameter to assign generated keys to. Note that when there are multiple parameters, ‘keyProperty’ must inclu
错误解决:
1、首先数据库中的id 是自增长的,不需要在Mapper文件中在写入这个id 字段了,另外还有一个字段是创建时间,类型为localdatetime,也不需要,我刚开始把这些字段都写入mapper 文件,实际他们都有默认值,所以只需要传入需要的字段参数即可。不需要写进去。。
2、我刚开始加入了: useGeneratedKeys=”true” keyProperty=”id”这两个用于新增记录后获取主键id返回的配置;需要在mapper 文件中去掉。
3、我的dao 接口返回的是实体对象,应该返回integer 类型就可以。
功能:
这个dao 接口主要用来保存并插入用户数据
4、Mapper 文件中的sql 语句
<insert id="saveFollow" parameterType="java.lang.Integer">
insert into tb_follow(user_id,follow_user_id) values (#{userId,javaType=Long},#{followUserId,javaType=Long});
</insert>
总结:
在Mapping 文件中注意空格问题要。
参考文章:
https://blog.csdn.net/lyxuefeng/article/details/107457408
|