Mybaits之@Options(useGeneratedKeys = true, keyProperty = “xxxx”)作用

Mybaits之@Options(useGeneratedKeys = true, keyProperty = “xxxx”)作用

useGeneratedKeys 设置为"true"表明要 MyBatis 获取由数据库自动生成的主键;
keyProperty=“id"指定把获取到的主键值注入到 XXX(实体类) 的 id 属性。
如配置中开启了@Options(useGeneratedKeys = true”)
再这样插入数据则会报

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: No setter found for the keyProperty ‘id’ in com.xx.xx.entity.xxxx.

@Insert({
    "insert into tb_major (major_id, major_desc, ",
    "major_certificates_id)",
    "values (#{majorId,jdbcType=BIGINT}, #{majorDesc,jdbcType=VARCHAR}, ",
    "#{majorCertificatesId,jdbcType=BIGINT})"
})
int insert(Major record);

所以得改为

@Insert({
    "insert into tb_major (major_id, major_desc, ",
    "major_certificates_id)",
    "values (#{majorId,jdbcType=BIGINT}, #{majorDesc,jdbcType=VARCHAR}, ",
    "#{majorCertificatesId,jdbcType=BIGINT})"
})
@Options(useGeneratedKeys = true, keyProperty = "majorId")
int insert(Major record);

在这里插入图片描述
娶了别名要注意写法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值