【问题标题】:Spring batch insert not inserting data into DBSpring批量插入不将数据插入数据库
【发布时间】:2021-04-13 21:47:40
【问题描述】:

我是 spring 新手,我正在尝试批量插入数据库,但由于某种原因它没有插入任何东西。谁能告诉我我做错了什么。

控制器

public class HomeController {

    @Autowired
    private UserRepository userRepository;
    
    @RequestMapping("/registration")
    public ResponseEntity<String> insertUser()
    {
        
        
        User c1=new User("Kangkan Talukdar","Guwahati","I am java programmer");
        User c2=new User("Kangkan Thakuria","Guwahati","I am java programmer");
        User c3=new User("Kangkan Ahmed","Guwahati","I am java programmer");
        User c4=new User("Kangkan Basumatary","Guwahati","I am java programmer");
        
        List<User> user1 = Arrays.asList(c1, c2, c3, c4);
       
        userRepository.saveAll(user1);
        return ResponseEntity.created("/customers");
        
        
        
    }
    
}

用户表

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    
    private String name;
    
    private String city;
    
    private String status;

//getter,setters etc have been generated

}

我添加了以下属性

spring.jpa.properties.hibernate.jdbc.batch_size=4

spring.jpa.properties.hibernate.order_inserts=true

这是日志

 0 nanoseconds spent acquiring 0 JDBC connections;
    0 nanoseconds spent releasing 0 JDBC connections;
    0 nanoseconds spent preparing 0 JDBC statements;
    0 nanoseconds spent executing 0 JDBC statements;
    0 nanoseconds spent executing 0 JDBC batches;
    0 nanoseconds spent performing 0 L2C puts;
    0 nanoseconds spent performing 0 L2C hits;
    0 nanoseconds spent performing 0 L2C misses;
    0 nanoseconds spent executing 0 flushes (flushing a total of 0 entities and 0 collections);
    0 nanoseconds spent executing 0 partial-flushes (flushing a total of 0 entities and 0 collections)

【问题讨论】:

    标签: java spring spring-boot hibernate jpa


    【解决方案1】:

    你可以试试这个方法。

    private Map<Long, User> usersMap = new HashMap<>();
    
    User user = new User();
    user.setId(1);
    user.setName("Kangkan Talukdar");
    user.setCity("Guwahati");
    user.setStatus("I am java programmer");
    usersMap.put(user.getId(), user);
    
    application.yml : 
     jpa:
        hibernate:
          ddl-auto: update
    

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多