簡體   English   中英

使用 spring boot JPA 在數據庫中插入多行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM