有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

如何使用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
    ...
}

是这样吗?因为我想分别存储每个数组元素,每个元素都有自己的行

@Autowired
private JdbcTemplate temp;

public void storeData(CustomObject[] customObjects) {

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

    temp.update(sql);
}

预期的

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


共 (1) 个答案

  1. # 1 楼答案

    理想情况下,您希望迭代数组并保存每个“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);
        }
    }