关于MyBatis自动生成主键

关于MyBatis自动生成主键

http://img1.sycdn.imooc.com//climg/5d88343d09f8379d07570110.jpg

这段代码我的理解是:把ClaimVoucher的各种属性(除了ID)插入到数据表中,然后在把数据表中自动生成的ID主键放入到ClaimVoucher中。请问老师这样理解有问题吗?因为我感觉我这样想好像有点双向传递的感觉..还要从数据表回传,不太知道对不对

正在回答

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

2回答

同学你好。你对代码的理解是正确的,useGeneratedKeys就是在插入之后将插入时生成的id回填到原对象中。这一过程有赖于MyBatis。如果没有MyBatis参与,就没有办法自动获取。数据库表中之前的数据中的id值,不能直接通过此方式获取,应该使用查询等手段来获取。

如果解答了同学的疑问,望采纳~

祝学习愉快~

提问者 KelvinChung 2019-09-23 11:04:53

但是我这样想有一个问题就是,如果一开始的基础数据是在MySQL中插入的,没有经过MyBatis,那是不是,就是在调用 ClaimVoucherBiz.save()也就是调用MyBatis之前,是不能通过getId取得ID的呢?

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

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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