利用Java的MyBatis框架获取MySQL中插入记录时的自增主键

前端技术 2023/09/03 Java

第一步:
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!

<insert id=\"insert\" parameterType=\"Spares\"  
    useGeneratedKeys=\"true\" keyProperty=\"id\"> 
    insert into spares(spares_id,spares_name, 
      spares_type_id,spares_spec) 
    values(#{id},#{name},#{typeId},#{spec}) 
  </insert> 

    
第二步:
Mybatis执行完插入语句后,自动将自增长值赋值给对象Spares的属性id。因此,可通过Spares对应的getter方法获取!

/** 
 * 新增备件 

 * @param spares 
 * @return 
 */ 
@RequestMapping(value = \"/insert\") 
@ResponseBody 
public JsonResponse insert(Spares spares) { 
  int count = sparesService.insert(spares); 
  System.out.println(\"共插入\" + count + \"条记录!\" 
      + \"\\n刚刚插入记录的主键自增长值为:\" + spares.getId()); 

           
另一种方法:

  <insert id=\"insert\" parameterType=\"Person\">
    <selectKey keyProperty=\"id\" resultType=\"long\">
      select LAST_INSERT_ID()
    </selectKey>
    insert into person(name,pswd) values(#{name},#{pswd})
  </insert>

插入前实体id属性为0;
插入后实体id属性为保存后自增的id;

本文地址:https://www.stayed.cn/item/7361

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。