问题描述:
使用ibaits 查询数据时,如果结果为空,将报错。
问题原因:
如果结果为空,queryForObject() 和queryForList()返回的是null, 如果对这个返回值直接做强制类型转换则将报此错误。
如 :
goodId = (Integer)sqlMapClient.queryForObject("Good.sGoodByInfo", mapInfo ); // 该语句在返回结果为null 时会报错
解决方案:
如果需要做强制类型转换,则不直接对结果进行转换,先判断是否为空:
Object oReturnId = sqlMapClient.queryForObject("Good.sGoodByInfo", mapInfo );
// 如果存在该成品,则将查询结果转为查询到的id号
if( null != oReturnId ){
goodId = (Integer)oReturnId;
}