ibatis连接insert到mysql数据库主键自动返回

本文介绍如何在Ibatis中配置SQL语句实现自增长主键的自动获取。通过在插入记录的SQL语句中加入selectKey标签,可以正确获取刚插入记录的主键值。

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

设计表时mysql的表主键设置为自增长类型,然后就在ibatis中配置了以下的sql语句(这个表有个名字为id的自增长主键id)

<!-- 创建用户信息 --> <insert id="createUser" parameterClass="userAlias"> <!--[CDATA[ insert into user (name, password, email, status, gmt_create, gmt_modified) values (#name#, #password#, #email#, #status#, now(), now()) ]]--> </insert>

运行完程序后通过user.getId()竟然得到的值是0,查了一下资料才知道,如果让ibatis自动返回这个刚生成的主键,需要在配置文件中添加一行

<!-- 创建用户信息 --> <insert id="createUser" parameterClass="userAlias"> <!--[CDATA[ insert into user (id, name, password, email, status, gmt_create, gmt_modified) values (#id#, #name#, #password#, #email#, #status#, now(), now()) ]]--> <selectKey resultClass="long" keyProperty="id"> select last_insert_id() as ID from user limit 1 </selectKey> </insert>

注意上面那个selectKey标签就是写个让ibatis来查询获取主键的sql,不同的数据库有不同的sql写法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值