插入数据后,如何获得插入数据的主键 主键返回 selectKey idworker uuid
时间: 2023-12-03 20:45:49 浏览: 152
一般情况下,插入数据后可以通过以下两种方式获得插入数据的主键:
1. 使用数据库自增主键
如果表中使用的是数据库自增主键,那么插入数据后可以使用数据库提供的函数(如MySQL的LAST_INSERT_ID())获取插入数据的主键。
示例代码(使用MySQL数据库):
```
INSERT INTO table_name (column1, column2, column3) VALUES ('value1', 'value2', 'value3');
SELECT LAST_INSERT_ID();
```
2. 使用mybatis的selectKey标签
如果表中使用的是非自增主键(如使用idworker或uuid),那么可以在mybatis的insert语句中使用selectKey标签来获取插入数据的主键。
示例代码:
```
<insert id="insertUser" parameterType="User">
<!-- 使用idworker作为主键 -->
<selectKey keyProperty="id" resultType="long" order="BEFORE">
SELECT idworker.nextval FROM DUAL
</selectKey>
INSERT INTO user (id, username, password, email) VALUES (#{id}, #{username}, #{password}, #{email})
</insert>
```
在上面的示例代码中,使用了idworker作为主键,并在insert语句中使用了selectKey标签,将获取到的主键值设置到了User对象的id属性中。
阅读全文