Mybatis插入mysql单条和批量获取自增id

文章目录

前言

Mybatis批量插入返回自增ID这在很多场景下会用到,比方说请求过来以后返回结果后的回更用自增id处理,或者主表产生id后去做其他的子表的业务关联。

1.单条数据插入表:

1.1mapper代码:

重点是配置:
useGeneratedKeys=“true” keyProperty=“id”


    insert into tb_user_local
    
      
        id,
      
      
        name,
      
      
        age,
      
      
        create_time,
      
      
        update_time,
      
    
    
      
        #{id,jdbcType=INTEGER},
      
      
        #{name,jdbcType=VARCHAR},
      
      
        #{age,jdbcType=INTEGER},
      
      
        #{createTime,jdbcType=TIMESTAMP},
      
      
        #{updateTime,jdbcType=TIMESTAMP},
      
    
  

1.2单元测试:

 @Test
    public  void  insert1(){
        UserLocal userLocal=new UserLocal();
        userLocal.setName("单个姓名");
        int result=userLocalMapper.insertSelective(userLocal);
        System.out.println(userLocal);
    }

2.多条数据插入表:

2.1方法1:

 
        insert into tb_user_local (name,create_time)
        
            SELECT
            #{item.name},
            now()
            FROM DUAL
        


    

2.2方法2:


    INSERT INTO
    tb_user_local (name,create_time)
    VALUES
    
      (#{item.name},now())
    

  

2.3单元测试:

  @Test
    public  void  insertBatch(){
        Listlist=new ArrayList<>();
        for (int i=0;i<3;i++){
            UserLocal userLocal=new UserLocal();
            userLocal.setName(i+"姓名");
            list.add(userLocal);
        }

        int result=userLocalMapper.insertBatch2(list);
        System.out.println(list);
    }

结尾

这其中需要注意的就是mybatis的版本必须是3.3x以上的版本,不能使用ON DUPLICATE KEY UPDATE等语法,如果使用的话,多条的数据只会返回第一条的数据自增id。这就是我使用mybatis批量插入后的总结,非常的实用,希望能帮助到大家。

展开阅读全文

页面更新:2024-06-08

标签:批量   前言   语法   结尾   场景   姓名   版本   代码   业务   目录   方法   数据   文章   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top