Spring JDBC中queryForObject的零结果问题
来源:互联网 发布:js 在线运行环境 编辑:程序博客网 时间:2024/05/16 11:29
Spring JDBC中queryForObject的零结果问题
Spring中的JDBC模块很好的封装了JDBC操作,将我们从繁琐的try-catch-finally-try-catch里解脱出来。但是用过JdbcTemplate很快就发现它的queryForObject方法在查询结果为空的时候不是返回null,而是抛出一个EmptyResultDataAccessException。
原来在所有的JdbcTemplate中的queryForObject方法都是类似这样
在org.springframework.dao.support.DataAccessUtils里其实还有一个方法叫singleResult。它在结果数为零的时候会返回null,其他定义和requriedSingleResult是一样的。
但是我发现所有JdbcTemplate中使用的都是requriedSingleResult这一方法。这样在使用的时候不得不预先用COUNT先算一下有没有结果,或者就是加上try-catch。总之在我看来这里用try-catch是不太合适的,起码是不完美的。
另外新的SimpleJdbcTemplate只是在JdbcTemplate上封装了Java5的新功能泛型和注释,本身还是调用JdbcTemplate,在这个问题上也没有帮助。
原来在所有的JdbcTemplate中的queryForObject方法都是类似这样
public Object queryForObject(String sql, RowMapper rowMapper)
throws DataAccessException {
List results = query(sql, rowMapper);
return DataAccessUtils.requiredSingleResult(results);
}
在org.springframework.dao.support.DataAccessUtils里其实还有一个方法叫singleResult。它在结果数为零的时候会返回null,其他定义和requriedSingleResult是一样的。
但是我发现所有JdbcTemplate中使用的都是requriedSingleResult这一方法。这样在使用的时候不得不预先用COUNT先算一下有没有结果,或者就是加上try-catch。总之在我看来这里用try-catch是不太合适的,起码是不完美的。
另外新的SimpleJdbcTemplate只是在JdbcTemplate上封装了Java5的新功能泛型和注释,本身还是调用JdbcTemplate,在这个问题上也没有帮助。
- Spring JDBC中queryForObject的零结果问题
- Spring JdbcTemplate 的queryForObject结果集问题
- Spring中JDBCTemplate中queryForObject()方法的使用
- Spring jdbc getJdbcTemplate() queryForObject返回javabean
- Spring jdbc getJdbcTemplate() queryForObject返回对象javabean
- 关于Spring JdbcTemplate调用queryForObject()方法结果集为空时报异常的解决办法
- Spring中jdbcTemplate.queryForObject使用出错
- spring 中JdbcTemplate的queryForObject、queryForMap为空返回错误情况的一个处理
- Spring中使用JdbcTemplate的queryForObject方法,当查不到数据时会抛出如下异常:
- Spring中使用JdbcTemplate的queryForObject方法,当查不到数据时会抛出如下异常:
- 大数阶乘结果中零的个数
- JDBC中获取结果集的信息
- Spring中使用MappingSQLQuery封装JDBC结果集实例
- jdbcTemplate 的 queryForObject异常
- SQLSERVER在JDBC中使用插入语句并返回结果集的问题
- spring中JDBC的应用
- n的阶乘结果中末尾有多少个零?
- Spring中JDBCTemplate使用queryForObject方法时 ”Incorrect column count: expected 1, actual 5“错误
- SQL 7 计算字段 - 2. 字段间的计算
- 写出程序的关键
- 半年总结
- 用Flash的API写html5应用
- Having Breakfast Too Early Is Not Healthy [Health Tips]
- Spring JDBC中queryForObject的零结果问题
- 说说网站安全
- oracle 数据闪回
- GCC中常见预定义宏的使用
- 寒假二十天总结
- 第三代移动通信技术R4简介
- 说说网站安全2
- 我的新作品~
- java导出Excel的工具分享