在实际开发过程中,经常需要在数据库新增一条记录后得到该条记录的主键,例如申请QQ号码,今天介绍两种查询新增记录主键的方式
使用intellij搭建好项目环境,创建数据库
创建mybatis_key数据库,并建立两个表,结构如下:
![](https://img.haomeiwen.com/i5681780/14fc07173812adec.png)
![](https://img.haomeiwen.com/i5681780/76cb927666789c5a.png)
![](https://img.haomeiwen.com/i5681780/9d88cef3ec63239d.png)
一、数据库主键为自增列
这里使用admins表做范例。admins表中,共有两个字段,其中id为int类型的自增主键,我们需要在admins表新增一条记录时,得到新纪录的id.
当然一开始还是老套路,创建配置文件(略)
创建AdminMapper.xml配置文件在src文件夹中
![](https://img.haomeiwen.com/i5681780/00f848d4328d0dc6.png)
![](https://img.haomeiwen.com/i5681780/13319cc1e6e12620.png)
在配置文件中注册这个mapper
创建Admin的POJO类
![](https://img.haomeiwen.com/i5681780/0e62f7f75af280e6.png)
在另一个类中创建测试方法(大概是下面这样)
![](https://img.haomeiwen.com/i5681780/07c890acf4ba7766.png)
这样可以打印出刚插入的ID
![](https://img.haomeiwen.com/i5681780/2124ee59254e86ac.png)
大功告成!
二、得到非自增列的新记录的主键
这个时候一般使用的是mysql的uuid来作为数据表主键
先创建User表,然后创建UserMapper.xml在src文件夹中
![](https://img.haomeiwen.com/i5681780/2a3a9cb0b812ab4a.png)
上图的重点依然是<selectKey>标签,执行后返回String,不过与上面不同的是,这个uuid()方法先执行,然后将值保存在User的id属性中。最后将ID用来返回给用户
测试方法
![](https://img.haomeiwen.com/i5681780/af551d60a661dc12.png)
![](https://img.haomeiwen.com/i5681780/047e98678ed4a643.png)
完成!
网友评论