JDBCTemplate queryForObject 如何工作。具体来说, new Object[] {} 部分

How JDBCTemplate queryForObject works. Specifically, the new Object[] {} part

我有这段示例代码:

public Post findById(Long id) {
    String sql = "select id, title, text from post where id = ?";

    return template.queryForObject(sql, new Object[] {id}, getPostRowMapper());

}

我不明白 new Object[] {id} 在这里做什么

当你有一个 sql 语句,里面有一个变量(问号),那么你需要提供变量,这些变量将被放入问号所在的语句中。

new Object[] {id} 告诉我们哪些变量应该放在问号所在的地方。

new Object[] {} 创建一个空对象数组。 new Object[] {id} 创建一个对象数组,其中包含一项 - Long id,这是函数参数。

假设 id 等于 1。在这种情况下,问号

where id = ?

将替换为 1

where id = 1