使用MyBatis提供的@Options注解来获取生成的主键
MyBatis获取新增信息生成的主键
有些时候需要用到新增信息的主键,此时可以使用MyBatis提供的**@Options**注解来获取生成的主键
示例:
1
2
3
|
@Options(useGeneratedKeys = true, keyProperty = "id")
@Insert("insert into ……")
void insert(Emp emp);
|
keyProperty的值是决定将返回的主键的封装到哪个属性,我的Emp表的主键是id,所以此处为id
通过这个操作,即可获取到生成的主键的值。此时就可以在Service实现类中调用get方法使用新增信息的主键的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public void save(Emp emp) {
// 保存员工的基本信息
emp.setCreateTime(LocalDateTime.now());
emp.setUpdateTime(LocalDateTime.now());
empMapper.insert(emp);
// 保存员工工作经历信息
List<EmpExpr> exprList = emp.getExprList();
if (!CollectionUtils.isEmpty(exprList)) {
exprList.forEach(empExpr ->
// 刚刚获取了主键,所以此时可以使用getId()方法来使用新增信息的主键的值
empExpr.setEmpId(emp.getId())
);
empExprMapper.insertBatch(exprList);
}
}
|