新增完成一条数据后怎么获取到新增的那条数据id id是自增的
时间: 2024-02-26 07:58:47 浏览: 158
在 MyBatis 中,可以使用 `useGeneratedKeys` 和 `keyProperty` 属性来获取自增 ID。具体做法如下:
1. 在插入语句的 XML 标签中添加 `useGeneratedKeys` 属性,并将值设置为 `true`,表示使用自动生成的键值。
2. 在插入语句的 XML 标签中添加 `keyProperty` 属性,并将值设置为实体类中对应的自增 ID 属性名,表示将自动生成的键值设置到该属性中。
例如,在使用 MySQL 数据库时,可以这样编写插入语句的 XML 标签:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
insert into user(name, age) values(#{name}, #{age})
</insert>
```
这样执行插入语句后,MyBatis 会将自动生成的 ID 设置到 `User` 对象的 `id` 属性中,从而获取到新增完成的自增 ID。你可以通过以下方式获取到新增的那条数据的 ID:
```java
User user = new User();
user.setName("Tom");
user.setAge(18);
int result = userDao.insertUser(user);
int id = user.getId(); // 获取自增 ID
```
其中,`userDao.insertUser(user)` 是执行插入操作的方法,`user.getId()` 就是获取新增的那条数据的 ID。
阅读全文