queryForMap查询抛异常 博客分类: springjdbc
程序员文章站
2024-02-25 19:29:45
...
queryForMap执行结果为空或数据大于一条时会抛异常,封装queryForMap的源码中规定了它的执行结果只能且必须是一条数据,否则就抛异常,所以只有在确定查询结果有且只有一条数据的时候使用;因为此方法的局限性太大,而且很容易就会犯这种错,所以建议使用queryForList 比如可以这样写
public Map<String, Object> aaa(String ord_id) { String sql = loadSQL("qwer"); MapSqlParameterSource paramSource = new MapSqlParameterSource().addValue("ord_id", ord_id); List<Map<String,Object>> list = jdbcdao.getNamedParameterJdbcTemplate().queryForList(sql, paramSource); if(list.size() > 0){ return list.get(0); }else{ return null; } }