SpringBoot+Mybatis实现批量添加功能

Posted 小郑要做干饭人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot+Mybatis实现批量添加功能相关的知识,希望对你有一定的参考价值。

1. 首先是controller层代码:

   /**
     * 添加申报用户
     *
     * @param ids    接收的是Project表的id,并将此id添加到declare_project_user中的project_id列中
     * @param sysRid 接收的是前台传过来的数据,并将此数据添加到declare_project_user中的user列中
     */
    @PostMapping(path = "/addDeclaredUser")
    public AjaxResult addDeclaredUser(@RequestParam String ids, @RequestParam String[] sysRid) {
        projectService.insertAll(ids, sysRid);
        return AjaxResult.success("添加成功");
    }

2. 然后是Service接口及其实现类:

2.1 Service接口:

 /**
   * 设置申报用户
   * @param ids 添加到declare_project_user表的project_id,及project表的id
   * @param sysRid 添加到declare_project_user表的user_id,及SysUser表中的ID
   */
  public void insertAll(String ids, String[] sysRid);

2.2 Service实现类:

  /**
   * 设置申报用户
   * @param ids 添加到declare_project_user表的project_id,及project表的id
   * @param sysRid 添加到declare_project_user表的user_id,及SysUser表中的ID
   */
  @Override
  public void insertAll(String ids, String[] sysRid) {
    projectMapper.insetAll(ids, sysRid);
  }

3. 最后是Mapper层及其Mapper.xml

3.1 Mapper接口:

 /**
   * 设置申报用户
   * @param ids 添加到declare_project_user表的project_id,及project表的id
   * @param sysRid 添加到declare_project_user表的user_id,及SysUser表中的ID
   */
  public void insetAll(@Param("ids") String ids,@Param("sysRid") String[] sysRid);

3.2 Mapper.xml:

 <insert id="insetAll" parameterType="com.ruoyi.common.core.domain.entity.DeclareProjectUser">
        insert into declare_project_user(project_id,role_id) values
        <foreach collection="sysRid" item="su" separator=",">
            (#{ids},#{su})
        </foreach>
    </insert>

4. 测试

4.1 启动项目,使用postman测试代码:
在这里插入图片描述
4.2 数据库效果如下:
在这里插入图片描述

以上是关于SpringBoot+Mybatis实现批量添加功能的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis实现批量添加操作

springboot项目实现批量新增功能

springboot+mybatis批量插入mysql,linux比windows慢很多。啥可能导致它?

springboot整合mybatis,批量新增

springboot-mybatis 批量insert

Mybatis 实现批量插入和批量删除源码实例