使用场景:
当我们从前端提交了一个User对象字段如下:
此时要获取前端提交的user对象的id值,我们就要使用mybatis中的useGeneratedKeys和keyProperty属性
useGeneratedKeys的作用是允许 JDBC 支持自动生成主键
keyProperty对应的是Java对象的属性名(不是数据库中的字段名)
<insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="id">
xxxx sql语句 xxxxx
</insert>
@RequestMapping(value = "/insert")
@ResponseBody
public JsonResponse insert(User user) {
int count = UserService.insert(user); //count>0 表示成功
System.out.println( "刚刚插入记录的主键自增长值为:" + user.getId());
}
如果mapper中不使用useGeneratedKeys和keyProperty的话
System.out.println( "刚刚插入记录的主键自增长值为:" + user.getId());
上图的这句打印语句结果是null
如果使用了则结果就是数据库中自增的id值