从queryForList()方法返回数据-类型不兼容错误

时间:2019-05-15 23:40:14

标签: java rest spring-boot jdbctemplate incompatibletypeerror

我无法将从MySQL数据库检索到的数据放入对象列表中。我想返回数据并将其存储到列表中。完成此操作后,我希望数据可用于检索到前端框架。

但是我收到一个不兼容的类型错误,我无法将数据返回到列表中。

注意:我对Spring-Boot和JdbcTemplate比较陌生。

我的代码

这在我的休息控制器内

@Autowired
private JdbcTemplate temp;

@RequestMapping("/foo")
public List<Foo> connectAndRetrieve() {

    String sql = "SELECT fooName FROM Foo;";

    // Error Here
    List<Foo> data = temp.queryForList(sql, Foo.class);

    return data;
}

如何从方法中返回数据并使用该数据?

谢谢!

1 个答案:

答案 0 :(得分:1)

您实际上是在投影fooName而不是Foo,请尝试以下操作:

@Autowired
private JdbcTemplate temp;

@RequestMapping("/foo")
public List<Foo> connectAndRetrieve() {
    String sql = "SELECT * FROM Foo";
    return temp.query(sql, new BeanPropertyRowMapper(Foo.class));
}

在这里您可以找到BeanPropertyRowMapper的文档