[英]Insert multiple rows in database using spring boot JPA
我是春天的新手。 我正在使用帶有 JPA 的 Spring Boot 創建 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 行。 我想將每個值添加到數據庫中。
嘗試這個
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);
}
您可以創建 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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.