mysql插入数据后返回自增id
使用
- 在Mybatis Mapper文件中添加属性 useGeneratedKeys和keyProperty,其中 keyProperty值 是 Java 对象的属性名,而不是表格的字段名。
insert into knowledge(question, answer, cate_id, flag, consultation_count, create_time, update_time)
values
(#{entity.question}, #{entity.answer}, #{entity.cateId}, #{entity.flag}, #{entity.consultationCount},
#{entity.createTime}, #{entity.updateTime})
- Mybatis 执行完插入语句后,自动将自增长值赋值给对象 Bean 的属性id。因此,可通过 Bean 对应的 getter 方法获取
int count = Dao.insert(Bean);
//获取到的即为新插入记录的ID
int id = Bean.getId();
【注意事项】
-
Mybatis Mapper 文件中, useGeneratedKeys和keyProperty必须添加,而且 keyProperty 必须和 Bean的属性名称一致,而不是表格的字段名
-
java Dao中的 Insert 方法,传递的参数必须为 java 对象,也就是 Bean,而不能是某个参数。也就是说:不能使用@Param注解
int insertBatch(List list);