我是 Spring 的新手。我正在使用 spring boot 和 JPA 创建 Rest API。我想向数据库 MYSQL 添加多行。
我已经创建了 Controller ,我正在使用存储库中的 save() 方法将数据插入数据库。我想向数据库添加多行,但是当我运行代码时,仅在数据库中添加最后一个值。如果我尝试每次都为方法创建 Userskill 对象,它工作正常,但每次创建新对象是不可行的。这是 Controller 代码的一部分。在这里,Userskill 是我想要插入数据的模型和表。
for(int i=0;i<listofskill.size();i++)
{
userskill.setUser_id(userid);
userskill.setSkill_id(skillRepo.findByName(listofskill.get(i)).getSkill_id());
userskillRepo.save(userskill);
}
此代码仅添加 1 行最后一个值。我想将每个值添加到数据库中。
最佳答案
您可以创建 Userskill 列表,然后一次添加所有元素,请检查以下代码:
List<UserSkillObject> userskillList = new ArrayList<>();
for(int i=0;i<listofskill.size();i++){
UserSkillObject userskill = new UserSkillObject();
userskill.setUser_id(userid);
userskill.setSkill_id(skillRepo.findByName(listofskill.get(i)).getSkill_id());
userskillList.add(userskill);
}
userskillRepo.saveAll(userskillList);
关于mysql - 使用 Spring Boot JPA 在数据库中插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376455/