mysql - 使用 Spring Boot JPA 在数据库中插入多行

标签 mysql spring rest spring-boot jpa

我是 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/

相关文章:

mysql - 如何仅显示每个属性

java - 为运行时生成的 POJO 类添加注解

java - Application/JSON 是 Restful Web 服务中不支持的媒体类型

php - sql/php 从多个表条目中获取最小值和最大值

php - 从 MySQL Blob 字段中选择一部分

java - 如何在 java 的编译时检索 Long.MAX_VALUE 的字符串值?

javascript - XSRF - 如何设置跨域 cookie

Java RESTful Web 服务,404 未找到

api - HTTP HEAD 动词的状态码

c# - 使用 OleDbConnection 查找用于连接到 MySQL Server 5.1.50 的连接字符串