JavaのMyBatisフレームワークを利用してMySQLに記録を挿入する際の自増主キーを取得する

1235 ワード

ステップ1:Mybatis Mapperファイルに属性「useGeneratedKeys」と「keyProperty」を追加します.keyPropertyはJavaオブジェクトの属性名です.

 
    insert into spares(spares_id,spares_name, 
      spares_type_id,spares_spec) 
    values(#{id},#{name},#{typeId},#{spec}) 
   

ステップ2: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 + "   !" 
      + "
:" + spares.getId());

別の方法:

  
    
      select LAST_INSERT_ID()
    
    insert into person(name,pswd) values(#{name},#{pswd})
  

挿入前のエンティティid属性は0である.挿入後のエンティティid属性は保存後に増加したidである.