无法从 JdbcTemplate 类型对非静态方法 query(String, RowMapper<Object>) 进行静态引用

Cannot make a static reference to the non-static method query(String, RowMapper<Object>) from the type JdbcTemplate

我正在 Spring Frame Work 上做我的项目。下面是服务 class 中的一段代码。 大家好,我能知道这段代码有什么问题吗??

List<EventCommand> employee = (List<EventCommand>) JdbcTemplate.query(sql, new EventService());

它说

Cannot make a static reference to the non-static method query(String, RowMapper) from the type JdbcTemplate

query 不是静态的。您需要一个 new JdbcTemplate() 或类似的。请教JavaDoc.

你应该能够从错误中解决这个问题。如果你做不到,我建议你花更多时间学习 Java 的基础知识。

创建 JdbcTemplate 的实例,然后调用 query(String, RowMapper) api。

@Autowired
JdbcTemplate jdbcTemplate;  // use spring autowiring to autowire jdbcTemplate

List<EventCommand> employee = (List<EventCommand>) jdbcTemplate.query(sql, new EventService());

首先你需要数据源。你可以在这里阅读

http://docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html

接下来需要创建JdbcTemplate

http://docs.spring.io/spring-framework/docs/2.0.x/api/org/springframework/jdbc/core/JdbcTemplate.html

并在您的查询中使用它

List<EventCommand> employee = (List<EventCommand>) (jdbcTemplate).query(sql, new EventService());