sql中查询类型为int的字段,返回null的异常

项目中用mybatis3.x,用sql查询某个表类型为int的字段,那个表是空表,没有数据,结果抛异常了,原因是在对象中的属性为int,空表时,sql查询出来的是NULL,结果赋值时抛异常了。

org.apache.ibatis.binding.BindingException: Mapper method 'getSort' (xx.yy.cc.DxxDAO) attempted to return null from a method with a primitive return type (int).

抛这样的异常。

解决这个问题,是当查出来为NULL时,结一个默认值,如:0。

mysql:

SELECT IFNULL(MAX(SORT),0)AS sort FROM web_d_info

oracle:

SELECT nvl(MAX(SORT),0) as sort FROM web_d_info

posted @ 2012-07-04 17:05  风吹倒了蕉  阅读(11799)  评论(1编辑  收藏  举报