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

时间:2018-11-04 13:51:53

标签: jdbctemplate

我有这段示例代码:

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}在这里做什么

1 个答案:

答案 0 :(得分:0)

当您的sql语句中带有变量(问号)时,您需要提供将放置在该语句中问号所在的变量。

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

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

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

where id = ?

将被替换为1

where id = 1