getJdbcTemplate().queryForMap 返回空集

利用spring 的getJdbcTemplate().queryForMap如果返回空集,就会报
org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 的异常,解决办法就是捕捉这个异常然后返回null即可。

try{
return getJdbcTemplate().queryForMap("select s.fb,s.pb,s.tu,s.qt,s.fbc,s.pbc,s.tt,s.ft,s.lt from gbc$view_user s where s.ud = ? and ad= ?", new Object[]{ud,ad});
}catch (EmptyResultDataAccessException e) {
return null;
}
展开阅读全文

Spring jdbc getJdbcTemplate() queryForObject如何返回对象

10-15

这是我的代码 希望您花几分钟不到的时间帮我看一下 我搞了1天了 楞是不明白一运行就报rn异常捕获在持久层:Incorrect column count: expected 1, actual 3这个错误 结果网上搜不到这个异常是个什么rn public User IsQueryOne(String id) throws Exception rn tryrn User user = (User) this.getJdbcTemplate().queryForObject("select * from test where id="+id,User.class);rn return user;rn catch(Exception e)rn System.out.println("异常捕获在持久层:"+e.getMessage());rn rn return null;rn rn网上有很多介绍SPRING MVC的例子 但是多半几乎是一个例子占了谷歌的前2页。。在往后搜就是IBATIS了 所以请高手给看一下 那个User.class是一个POJO类 我希望查询完毕后可以返回一个user对象 毕竟我这个是按ID查的 就一条记录 就是不明白为什么会错n[b]问题补充:[/b]n知道是怎么回事了 这个方法看起来以为和HIBERNATE的一样 结果是完全不同 需要写一个类 public class UserRowMapper implements RowMapper rnrn public Object mapRow(ResultSet rs, int value) throws SQLException rn User user = new User();rn user.setId(new Integer(rs.getInt("id")));rn user.setUsername(rs.getString("username"));rn user.setAge(rs.getString("age"));rn return user;rn rnrnrn然后在我的方法里直接返回 rn public User IsQueryOne(String id) throws RuntimeException rn String sql="select * from test where id="+id;rn //现在你看到了我们写的UserRowMapper这个类是多么的方便rn return (User) this.getJdbcTemplate().queryForObject(sql,new UserRowMapper());rn rn rn刚玩这个 下来搞搞AOP了。。。不然acegi搞起来有难度....哎~~无聊呃。。。。 问答

没有更多推荐了,返回首页