mysql 保存并返回主键_mybatis保存后返回自增主键值id

保存细节,获取保存数据的id

每次保存用户后,往往需要数据库返回的自增的主键值,进行下一步工作【给用户增加权限…】

如果没有保存完成后返回id这个功能。那么我们就需要在进行一次查询,这对我们来说是极其痛苦的,不光要多写SQL,多写方法,对我们来说时间是最宝贵的,项目经理给你做模块的时间一般都是不够用的。如果时间都用来写无营养的SQL,那么就避免不了加班了。

下面就来说一下怎么怎么实现

首先我们知道,在MySQL数据库中有这么一个函数 last_insert_id();此方法会查询到最后一次保存的id

- 例如

- insert into tbl_user(name,age) values(“zhangsan”,“25”);

- select last_insert_id();

b31d590c2914c276ac30367dd1b7ecd4.png

我们的MyBatis底层就是实现的这个函数

在UserDao接口中创建一个保存用户的方法public interface UserDao(){

//保存用户的方法,并且返回数据库自增的id

Integer saveUserReturnId(User user);

}

在映射文件中编写SQL【不同点】

insert into user(name,age) values(#{name},#{age})

差别:useGeneratedKeys:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中

3.注册Mapper 【如果已经注册了,那就不需要在进行注册了】

4.编写测试类

注意:

- 返回的值并不是自增的id属性

- MyBatis会把数据库返回的id值自动封装到User实体类对象中

- 想要得到返回的Id属性,只需要通过调用 user.getId()即可

- 主键必须为自增长列,auto_increment

b4d3470e111882e09f5c4b8086f0edd1.png

这样就能用得到数据库自动增长的id主键了

下一篇更新:查询【通过id查询,like查询【详解】,查询总用户数】

来源:oschina

链接:https://my.oschina.net/u/4386695/blog/4587132

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值