关于自动增长列的问题

关于自动增长列的问题

<insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="ClaimVoucher">

想问下此处声明出来的id是在哪里会调用到呢 源码看了不是很理解

public void save(ClaimVoucher claimVoucher, List<ClaimVoucherItem> items) {
   claimVoucher.setCreateTime(new Date());
   claimVoucher.setNextDealSn(claimVoucher.getCreateSn());
   claimVoucher.setStatus(Contant.CLAIMVOUCHER_CREATED);
   claimVoucherDao.insert(claimVoucher);

   for(ClaimVoucherItem item:items){
       item.setClaimVoucherId(claimVoucher.getId());
       claimVoucherItemDao.insert(item);
   }
}

我看源码是claimVoucher先插入保存 后claimVoucherItem通过getId()获取id 声明出来的id好像没有用到

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2018-08-27 11:14:51

老师的意思是:如果不设置keyProperty="id",执行完插入操作后claimVoucher对象的id属性是没有值的,那么通过claimVoucher.getId()就不会取到自动增长id的值。这个赋值的过程是MyBatis自动为我们完成的。祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师