Return 来自 queryForList() 方法的数据 - 类型不兼容错误
Return data from queryForList() method - Incompatible types error
我无法将从 MySQL 数据库检索到的数据放入对象列表中。我想 return 数据并将其存储到列表中。一旦我这样做了,我希望数据可用于检索到前端框架。
但是我得到一个不兼容的类型错误,我不能return将数据放入列表中。
注意:我对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;
}
如何return方法中的数据并使用该数据?
谢谢!
您实际上投影的是 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
的文档
我无法将从 MySQL 数据库检索到的数据放入对象列表中。我想 return 数据并将其存储到列表中。一旦我这样做了,我希望数据可用于检索到前端框架。
但是我得到一个不兼容的类型错误,我不能return将数据放入列表中。
注意:我对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;
}
如何return方法中的数据并使用该数据?
谢谢!
您实际上投影的是 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
的文档