mybatis插入数据返回id
时间: 2023-05-03 07:07:53 浏览: 107
mybatis 批量插入返回主键
Mybatis插入数据可以使用selectKey来获取生成的主键(id),常见的有两种方式:
1. 在映射文件中设置selectKey语句,将获取到的主键值设置到实体类对象中:
```
<insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user(name, age, gender) VALUES (#{name}, #{age}, #{gender})
</insert>
```
参数 useGeneratedKeys 表示获取自动生成的主键值,keyProperty 表示用于接收主键值的实体类属性名称。
2. 在接口定义中使用 @Options 注解,将获取到的主键值设置到方法参数中:
```
@Insert("INSERT INTO user(name, age, gender) VALUES (#{name}, #{age}, #{gender})")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
int addUser(User user);
```
参数 useGeneratedKeys 表示获取自动生成的主键值,keyProperty 表示用于接收主键值的方法参数名称,keyColumn 表示自动生成的主键列名称。
在使用以上两种方式时,需要注意数据库驱动和数据库版本的兼容性,以及数据表中是否定义了自增主键等相关问题。
阅读全文