`

queryForMap查询抛异常

 
阅读更多

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; 
	}
}

 

 

0
0
分享到:
评论

相关推荐

    Spring框架JdbcTemplate类中查询方法介绍

    这些方法都可以在查询结果为空或查询结果大于 1 行时抛出异常。 query 方法: * query(String sql, RowMapper rowMapper):将查询结果转换为 List 集合 * query(String sql, RowMapper rowMapper, int rowNum):将...

    JDBC性能优化.pdf

    驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善 JDBC 应用程序的性能介绍一些基本的指导原则,这其中 的原则已经被许多现有的 JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用...

    JdbcTemplate的jar包.rar

    查询一行的内容,封装为map用:template.queryForMap(sql) 查询所有的内容,封装为list用 :template.queryForList(sql) 查询所有的内容,封装为对象用:template.query(sql, new BeanPropertyRowMapper&lt;对象&gt;(对象....

    ibatis例子=》包含了常用方法介绍

    * 带参数的queryForMap用法 */ @SuppressWarnings("unchecked") public Map queryForMap(String sql_name, Object parameterObject, String keyProp,String valueProp) { Map map = null; try { map...

Global site tag (gtag.js) - Google Analytics