博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通用Sql返回自增长insert后的id
阅读量:3946 次
发布时间:2019-05-24

本文共 793 字,大约阅读时间需要 2 分钟。

需求:

项目中的id是自增长的,现在需要获取到刚insert之后自动生成的主键id,在项目使用mybatis封装的通用CRUD方法的情况下,要如何获取这个自动生成的id?

通用sql

在pom.xml文件中加入通用sql的依赖

tk.mybatis
mapper-spring-boot-starter
2.1.5

mybatis封装好的通用的CRUD方法

在这种情况下,有两种方法可以获取刚insert之后自动生成的id.

方法一:

1.实体类中在id字段上使用**@GeneratedValue注解实体类
2. 实现类(serviceImpl)中,使用
@Options**注解并做如下申明
在这里插入图片描述
此时可以使用下面的方法:也就是对象.getId()来获取到刚insert自动生成的主键id
在这里插入图片描述
方法二:

我在项目中使用的就是第二种方法,因为比较方便。

第二种方法在实体类中不用添加**@GeneratedValue注解,也不用在实现类(serviceImpl)中添加@Options注解来做任何说明,

直接使用mybatis封装好的一个方法 insertUseGenerateKeys(Object),然后获取id也是使用对象.getId()**。具体操作如下。

在这里插入图片描述

使用下面的方法来获取刚刚insert之后自动生成的主键id(注意:这里的对象必须是刚刚insert的对象
在这里插入图片描述

insert()和insertUseGeneratedKeys()方法的区别

在数据库的主键id类型为int的时候,两种方法都可以通过 实体类.getId()获取到刚insert的记录的id,

如果主键设置了自动增长:使用insert()方法
如果主键没有设置自动增长:使用insertUseGeneratedKeys()方法

转载地址:http://avhwi.baihongyu.com/

你可能感兴趣的文章
Google File System(中文翻译)
查看>>
Google's BigTable 原理 (翻译)
查看>>
MapReduce:超大机群上的简单数据处理
查看>>
设计模式笔记(转载)
查看>>
加站点加入IE的可信站点做法
查看>>
软件研发中的《破窗理论》
查看>>
敏捷的三种误区和五种改进
查看>>
用数字来看某知名B2C网站的发展内幕和隐私
查看>>
vs2010一些设置
查看>>
生活感悟语录
查看>>
用python中htmlParser实现的spider(python spider)
查看>>
在线测速网址
查看>>
mysql中GROUP_CONCAT的应用
查看>>
研发人员的绩效考核
查看>>
Python 3 之多线程研究
查看>>
Python 3中的多线程文件下载类
查看>>
Python库之MySQLdb介绍
查看>>
Python3中利用Urllib进行表单数据提交(Get,Post)
查看>>
Python开发之扩展库的安装指南及Suds(Webservice)的使用简介
查看>>
软件项目管理一点分享
查看>>