mybatis插入数据返回id
时间: 2023-05-30 22:06:51 浏览: 76
在使用 MyBatis 插入数据时,可以通过以下两种方式获取插入数据的 ID:
1. 使用自增主键
如果表中的主键是自增的,可以在插入数据时将 ID 设置为 null,然后在插入后通过返回的影响行数判断是否插入成功,如果成功就可以通过对应的实体类对象获取插入的 ID。
示例代码:
```
<insert id="insertUser" parameterType="User">
INSERT INTO user (name, age, gender) VALUES (#{name}, #{age}, #{gender})
</insert>
<selectKey keyProperty="id" resultType="int" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
```
2. 使用 UUID 主键
如果表中的主键是 UUID,可以在插入数据时使用 Java 的 UUID 类生成 UUID,然后将 ID 设置为生成的 UUID,插入数据后即可获取插入的 ID。
示例代码:
```
<insert id="insertUser" parameterType="User">
INSERT INTO user (id, name, age, gender) VALUES (#{id}, #{name}, #{age}, #{gender})
</insert>
```
使用 Java 生成 UUID:
```
String uuid = UUID.randomUUID().toString();
user.setId(uuid);
```
注意:在使用 UUID 主键时,需要将表中主键的类型设置为 VARCHAR。