注解模式 mybatis插入后返回主键id
时间: 2024-10-09 20:13:57 浏览: 37
注解模式在MyBatis中主要用于简化操作,特别是在处理自增ID的情况。当你希望在插入数据后自动获取生成的主键ID时,可以利用MyBatis提供的`@Insert`和`@Options`注解。
首先,在Mapper接口中,你可以添加一个带注解的方法,例如:
```java
@Insert("INSERT INTO your_table (column1, column2) VALUES (#{value1}, #{value2})")
@Options(useGeneratedKeys = true, keyProperty = "id", resultType = YourEntity.class)
Integer insertData(YourEntity entity);
```
在这里,`useGeneratedKeys = true` 表示希望MyBatis使用数据库的自动增长机制来生成主键,而`keyProperty = "id"` 指定了实体类中的属性作为保存生成ID的地方,通常是`id`字段。`resultType = YourEntity.class` 则告诉MyBatis返回的是一个`YourEntity`对象。
然后,在Service层或Repository中,你可以直接调用这个方法并获取到新插入的数据以及它的主键ID:
```java
YourEntity createdEntity = mapper.insertData(yourEntityInstance);
int id = createdEntity.getId(); // 主键值
```
阅读全文