Mybatis 批量插入报错 org.apache.ibatis.executor.ExecutorException: No setter found for the keyProperty 'id

14 篇文章 0 订阅

在mybatis的配置文件中,有个叫keyProperty和useGeneratedKeys的属性。useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。

具体用法:

useGeneratedKeys=”true” keyProperty=”对应的对象的主键”。

 

如果对象主键可以不是'id',可以为userId。不过对应 keyProperty  也要修改。保持一致。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`org.apache.ibatis.exceptions.PersistenceException` 是 MyBatis 持久化异常的父类,它通常是其他具体异常的包装类。要解决这个异常,你需要进一步查看异常的详细信息和堆栈跟踪,以找出具体的误原因。 在你的异常信息中,通常会有更具体的异常类和误信息。你可以将这些信息提供给我,我可以帮助你分析并给出解决方案。另外,你也可以尝试以下几个常见的解决方法: 1. 检查数据库连接:确认数据库连接的配置信息是否正确,包括数据库地址、用户名、密码等。可以尝试连接数据库的工具或者其他方式来验证连接是否正常。 2. 检查 SQL 语句:查看你的映射文件中定义的 SQL 语句是否正确。可以将 SQL 语句复制到数据库客户端中运行,看是否能够正常执行。 3. 检查映射配置:确认映射文件中的参数映射和结果集映射是否正确。可以对照数据库表结构和映射文件中的配置来进行验证。 4. 查看日志信息:查看 MyBatis 的日志输出,看是否有更详细的误信息和提示。你可以在 `mybatis-config.xml` 中配置日志输出级别,以便更好地调试问题。 5. 检查依赖版本:确认你使用的 MyBatis 版本与其他相关依赖的版本是否兼容。有时候不同版本的依赖之间可能存在冲突或不兼容的情况。 希望以上方法能够帮助你解决问题。如果你提供更具体的异常信息和代码片段,我可以给出更具体的建议。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值