springbootvue批量添加多表以及数据

请教一下各位,当我选中三个数据时,我想获取到id,然后传到后端,进行批量添加数据,先添加主表数据,在添加从表的数据,如果选中三条的话,从表要有三条数据,怎么做呢
这个是页面

img

vue我是这么写的,但是选中之后控制台输出的是

img

img

后端是foreach循环添加

img


请各位指点一下,谢谢

CaseManageParam这个对象还可以修改,将vioList定义为对象列表,这样就不用去解析字符串了

【以下回答由 GPT 生成】

我可以提供以下解决方案来帮助你在Spring Boot和Vue.js中批量添加多个表及数据。

  1. 首先,你可以在Vue.js中创建一个方法,该方法将选中的数据的id保存到一个数组中。你可以使用v-model指令来实现这一点。以下是一个示例方法:
data() {
  return {
    selectedData: [], // 用于保存选中的数据的id的数组
    // 其他数据和方法
  }
},
methods: {
  handleDataSelection(dataId) {
    if (this.selectedData.includes(dataId)) {
      // 如果数据id已经存在于数组中,则从数组中删除
      const index = this.selectedData.indexOf(dataId);
      this.selectedData.splice(index, 1);
    } else {
      // 否则,将数据id添加到数组中
      this.selectedData.push(dataId);
    }
  },
  // 其他方法
}
  1. 接下来,你可以在Vue.js中创建一个方法来将选中的数据传递给后端进行批量添加。你可以使用axios库来进行HTTP请求。以下是一个示例方法:
import axios from 'axios';

// ...

methods: {
  batchAddData() {
    axios.post('/api/batchAddData', {
      selectedData: this.selectedData
    })
      .then(response => {
        // 处理后端返回的响应
        console.log(response.data);
      })
      .catch(error => {
        // 处理错误
        console.error(error);
      });
  },
  // 其他方法
}
  1. 在后端(Spring Boot)中,你可以创建一个接受POST请求的控制器方法,并使用forEach循环添加主表和从表的数据。以下是一个示例控制器方法:
@RestController
@RequestMapping("/api")
public class DataController {

  @Autowired
  private MainTableRepository mainTableRepository;

  @Autowired
  private SubTableRepository subTableRepository;

  // ...

  @PostMapping("/batchAddData")
  public void batchAddData(@RequestBody List<Long> selectedData) {
    selectedData.forEach(dataId -> {
      // 添加主表数据
      MainTable mainTable = new MainTable();
      // 设置主表数据的属性
      mainTableRepository.save(mainTable);

      // 添加从表数据
      SubTable subTable = new SubTable();
      // 设置从表数据的属性
      subTable.setMainTable(mainTable);
      subTableRepository.save(subTable);
    });
  }

  // 其他方法
}

请注意,上述示例代码是基于假设和简化的情况,并可能需要适应你的实际情况。确保根据你的需求和项目结构进行适当的调整。

希望以上解决方案能对你有所帮助!如果你有任何进一步的问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^