mysql 插入数据后返回该条数据id

介绍在MyBatis中使用useGeneratedKeys和keyProperty属性,实现插入操作后自动返回主键ID的方法,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

在做关联表插入操作时,需要根据主表的 主键id作详情表的属性值,最笨的方法就是,先插入主表,然后通过查询返回刚刚插入的 主键id,继续 添加详情表数据。

解决办法:

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

具体用法:

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


例如:

ps:下图中的这种获取方式,得到的n并不是返回的该条数据的id,这个n只代表成功执行了1条数据

实际上,返回值的id是被set进传入的vo对象里了,所以需要从vo.getId()就可以得到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值