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实现
本文作者:kingwzun
本文链接:https://www.cnblogs.com/kingwz/p/16747865.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步