使用 POST 方法中的 JDBCTemplate 存储对象数组 - Spring Boot

Storing object array with JDBCTemplate from POST method - Spring Boot

如何使用 JDBCTemplate 将对象数组插入数据库?我的控制器中的 POST 方法有一个可变长度的对象数组。


我看过这些,

和其他人一样,他们似乎不适合我需要的。


控制器

// Service
@Autowired
private DBService tool;

@PostMapping(value = "/foo")
private void storeData(@RequestBody CustomObject[] customObjects) {
    // Calls service then DAO
    tool.storeData(customObjects);
}

POJO 对象

public class CustomObject {

    private Integer id;
    private String name;

    // Getters & Setters for class attributes
    ...
}

DAO这样对吗?因为我想单独存储每个数组元素,每个元素都有自己的行。

@Autowired
private JdbcTemplate temp;

public void storeData(CustomObject[] customObjects) {

    String sql = "INSERT INTO FooBar(name) VALUES(\'" + customObjects.toString() + "\');";

    temp.update(sql);
}

预计

我想将 POST 中的自定义对象数组存储到我的数据库中,每个元素都有自己的行。

理想情况下,您希望遍历数组并保存每个 "CustomObject" 。

private JdbcTemplate temp;

public void storeData(CustomObject customObject) {

    String sql = "INSERT INTO FooBar VALUES(" + customObject.id + ",\'"+  customObject.name +"\');";

    temp.update(sql);
}


@PostMapping(value = "/foo")
private void storeData(@RequestBody CustomObject[] customObjects) {
     // Save each record individually
      customObjects.forEach { customObject -> 
      tool.storeData(customObjects);
    }
}