项目中用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时使用IFNULL(MAX(SORT),0),SORT为查询字段:
SELECT IFNULL(MAX(SORT),0) AS sort FROM web_d_info
oracle时:
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时使用IFNULL(MAX(SORT),0),SORT为查询字段:
SELECT IFNULL(MAX(SORT),0) AS sort FROM web_d_info
oracle时:
SELECT nvl(MAX(SORT),0) as sort FROM web_d_info
希望能帮到你。顶一个哈~