函數(shù)式編程
2023-03-31 15:28:30
我想通過使用顯示用戶表中的所有數(shù)據(jù)NamedParameterJdbcTemplate,但它不起作用。它顯示此錯(cuò)誤: The method query(String, SqlParameterSource, ResultSetExtractor<T>) in the
type NamedParameterJdbcTemplate is not applicable for the arguments
(String, new RowMapper<User>(){})報(bào)錯(cuò)圖片: Dao類報(bào)錯(cuò)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));}服務(wù)代碼: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貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
似乎您的 jdbcTemplate 找不到具有此類簽名的方法(兩個(gè) param , sqlstring , rowmapper )...并且找不到 map MapSqlParameterSource 參數(shù)
嘗試使用EmptySqlParameterSource.INSTANCEMapSqlParameterSource 參數(shù)(第二個(gè)方法參數(shù))如下
public List<User> getAllUsers() {
return jdbc.query("select * from user", EmptySqlParameterSource.INSTANCE,
BeanPropertyRowMapper.newInstance(User.class));
}
添加回答
舉報(bào)
0/150
提交
取消