为了账号安全,请及时绑定邮箱和手机立即绑定

在 NamedParameterJdbcTemplate 类型中不适用于参数

在 NamedParameterJdbcTemplate 类型中不适用于参数

函数式编程 2023-03-31 15:28:30
我想通过使用显示用户表中的所有数据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));


}


查看完整回答
反对 回复 2023-03-31
  • 1 回答
  • 0 关注
  • 222 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信