我想通过使用显示用户表中的所有数据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
提交
取消