Mybatis+Mysql 批量插入的时候返回主键ID


  insert into alarm_linkman (user_name, project_id, 
  project_name, phone, email, status)
  values
  
    (#{item.userName,jdbcType=VARCHAR}, #{item.projectId,jdbcType=INTEGER}, 
     #{item.projectName,jdbcType=VARCHAR}, #{item.phone,jdbcType=VARCHAR}, #{item.email,jdbcType=VARCHAR}, 
     #{item.status,jdbcType=INTEGER})
  

 
  
useGeneratedKeys:
设置是否使用 JDBC的getGenereated Keys方法获取主键并赋值到 keyProperty设置的领域模型属性中。MySQL和SQLServer执行auto-generated key field,
因此当数据库设置好自增长主键后,可通过 JDBC的getGeneratedKeys方法获取。但像Oralce等不支持auto-generated key field的数据库就不能用这种方法获取主键了
keyProperty:
返回主键ID到Javabean的属性名称

注意:我在这里做的批量插入,传入的是一个List集合,所以的collection属性要写list,插入完成后会直接把主键ID放入你的Javabean中。最重要的是这种写法只能是
Mybatis版本3.3.1以上,不然会报错。数据库要mysql(其他数据库没试过)

你可能感兴趣的:(学习总结)