美文网首页
mybatis 批量insert 返回主键(实例)

mybatis 批量insert 返回主键(实例)

作者: 狗尾巴草也开花 | 来源:发表于2017-07-30 23:16 被阅读0次

    时刻记得:不忘初心,方得始终

    功能

    实现批量插入,并且返回自增id、随机id、uuid等。随你用什么策略。
    

    话不多说,上实例

    • bean
    public class UserInfo
    {
        private int userId;
        private String userName;
        private StringuserPwd;
        ```(get、set方法)    
    }
    
    • Dao
    public interface UserDao{
      int insertBatch(List<UserInfo> userList);
    }
    
    • mapper
    <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="userId">
      insert into user_info
      (
        user_id,
        user_name,
        user_pwd
       )
       values 
      <foreach collection="list" item="item" index="index" separator=","> 
       (     
        null,
        #{item.userName,jdbcType=VARCHAR},
        #{item.userPwd,jdbcType=VARCHAR}
       ) 
       </foreach> 
     </insert>
    
    • serviceImpl
    public List<UserInfo> saveCheckin(List<UserInfo> userList) {
      userDao.insertCheckin(userList); //成功后对象userList里面已经包含主键user_id
      return userList;
    }
    

    注意

    要将mybatis升到3.3.1以上
    不要在Dao 层加@Param注解,不然会被报如下错误

    报错:Parameter '你的@Param参数' not found. Available parameters are [list]

    如有帮助,不必言谢,点击打赏

    相关文章

      网友评论

          本文标题:mybatis 批量insert 返回主键(实例)

          本文链接:https://www.haomeiwen.com/subject/hyrklxtx.html