Mybatis使用注解方式插入数据后 返回自增长的主键值

需求:

插入数据时不插入主键,让主键自增,但是需要知道插入的数据主键是啥。

注意:
insert方法的返回值,表示成功添加的条数,和主键ID无关

实现:添加注解 @Options()

示例

@Insert("insert into table_name (num,grade,name,age,sex) values(#{num},#{grade},#{name},#{age},#{sex}")

@Options(useGeneratedKeys = true, keyProperty = "studentId", keyColumn = "student_id")

void insert(Student student);
  • useGeneratedKeys
    使用生成的密钥,润色一下就是使用数据库中生成的主键(这里表中主键只能是student_id)

  • keyProperty
    关键属性,即代码中与表对应的Bean的属性名(实体类的属性)。

  • keyColumn
    关键列,即数据库表中主键的字段名 student_id

增加这两个参数,它会将主键id映射到你的对象中的studentId属性中去

获取ID

insert方法执行完毕后,实体类的对象student的studentId就会被赋值为 插入后主键的值

如果想获取通过 student.getStudentId()(改成自己的实体类的get方法) 就可以。

XML实现

原文:

posted @ 2022-10-01 21:53  kingwzun  阅读(553)  评论(2编辑  收藏  举报