我是春天的新手。我正在使用Spring Boot和JPA创建Rest API。我想向数据库MYSQL添加多行。
我创建了一个控制器,在其中我使用存储库中的save()方法将数据插入数据库中。我想向数据库添加多行,但是当我运行代码时,数据库中仅添加了最后一个值。如果我每次尝试为方法创建Userskill对象,它都可以正常工作,但每次创建新对象都是不可行的。这是控制器代码的一部分。在这里,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行。我想将每个值添加到数据库中。
答案 0 :(得分:0)
尝试
for(int i=0;i<listofskill.size();i++)
{
UserSkillObject userskill = new UserSkillObject ();
userskill.setUserSkillId(newId);
userskill.setUser_id(userid);
userskill.setSkill_id(skillRepo.findByName(listofskill.get(i)).getSkill_id());
userskillRepo.save(userskill);
}
答案 1 :(得分:0)
您可以创建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);