我想通過使用顯示用戶表中的所有數據NamedParameterJdbcTemplate,但它不起作用。它顯示此錯誤: The method query(String, SqlParameterSource, ResultSetExtractor<T>) in the
type NamedParameterJdbcTemplate is not applicable for the arguments
(String, new RowMapper<User>(){})報錯圖片: Dao類報錯DAO code:private NamedParameterJdbcTemplate jdbc;@Autowiredpublic void setDataSource(DataSource jdbc) { this.jdbc = new NamedParameterJdbcTemplate(jdbc);}public List<User> getAllUsers() { return jdbc.query("select * from user", BeanPropertyRowMapper.newInstance(User.class));}服務代碼:public List<User> getAllUsers() { return userDao.getAllUsers();}控制器代碼:@RequestMapping(value="/viewAllUser", method = RequestMethod.GET)public String viewAllUser(Model model) { List<User>user = userServices.getAllUsers(); model.addAttribute("user", user); return "viewAllUser";}
1 回答

慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
似乎您的 jdbcTemplate 找不到具有此類簽名的方法(兩個 param , sqlstring , rowmapper )...并且找不到 map MapSqlParameterSource 參數
嘗試使用EmptySqlParameterSource.INSTANCEMapSqlParameterSource 參數(第二個方法參數)如下
public List<User> getAllUsers() {
return jdbc.query("select * from user", EmptySqlParameterSource.INSTANCE,
BeanPropertyRowMapper.newInstance(User.class));
}
添加回答
舉報
0/150
提交
取消