mysql+mybatisプライマリ・キーの自己増加を実現

2295 ワード

一、mybatis対応の特定テーブル(Customer)の構成
1、コード
  

    insert into im_customer
    
      
        CustomerCode,
      
      
        CustomerName,
      
      
        CustomerLocation,
      
    

    
      
        #{customercode,jdbcType=VARCHAR},
      
      
        #{customername,jdbcType=VARCHAR},
      
      
        #{customerlocation,jdbcType=VARCHAR},
      
    

  

2、説明
keyPropertyは、データベースで指定したテーブルのプライマリ・キー・フィールドに対応するJavaオブジェクトのプロパティです.
useGeneratedKeysパラメータはinsert文のみに対して有効で、デフォルトはfalseです.
①keyPropertyとuseGeneratedKeysを併用
データベースがプライマリ・キーを自動的に生成するフィールド(MySQLやSQL Serverなど)をサポートしている場合は、useGeneratedKeys="true"を設定してkeyPropertyをターゲット・プロパティに設定すればOKです.

  insert into Author (username,password,email,bio)
  values (#{username},#{password},#{email},#{bio})

②keyPropertyのみを使用し、useGeneratedKeysを使用しない場合は、併用する必要があります

  
    select CAST(RANDOM()*1000000 as INTEGER) a from SYSIBM.SYSDUMMY1
  
  insert into Author
    (id, username, password, email,bio, favourite_section)
  values
    (#{id}, #{username}, #{password}, #{email}, #{bio}, #{favouriteSection,jdbcType=VARCHAR})

二、実行
1,このように配置し終わった後に、プログラムを実行してそのように成功したと想像することができなくて、第1回は挿入する時mysqlデータベースの中で必ず主なキーの自ら増加する文を実行しなければならなくて、やっと願い通りに新しく成功することができて、
alter table student  modify studnet_id  integer auto_increment,studentテーブル名,student_idはプライマリ・キーです.
2,mysql ID付加価値の開始値を設定する文:
alter table student AUTO_INCREMENT=1000
 
 
  • useGenerateKey:自増列
  • に戻る
  • KeyProperty:自増列、オブジェクト対応属性を返します.
  • 自己増分値取得:自己増分プライマリ・キーは、オブジェクトに対応する属性の
  • にマッピングされます.