会报错如下 :
org.springframework.web.util.nestedservletexception : 요청 처리가 실패했습니다. 중첩 예외는 org.apache.ibatis.binding.bindingexception입니다. Mapper Method 'com.bill.springmybatis.dao.userdao.getuseridbyname 원시 리턴 유형 (int)이있는 메서드에서 null을 반환하려고 시도했습니다.
org.springframework.web.servlet.frameworkservlet.processrequest (Frameworkservlet.java:894)
org.springframework.web.servlet.frameworkservlet.doget (frameworkservlet.java:778)
javax.servlet.http.httpservlet.service (httpservlet.java:734)
javax.servlet.http.httpservlet.service (httpservlet.java:847)
org.springframework.web.filter.characterencodingfilter.dofilterinternal (characterencodingfilter.java:88)
org.springframework.web.filter.onceperrequestfilter.dofilter (OnceperRequestFilter.java:76)
返回类型设置为封装类型 정수 ger int, 都有可能出错
例如
< "QueryPaysum"resulttype = "java.lang.integer"parametertype = "map"> pay_info p에서 sum (p.cash_fee)을 선택하십시오.
我用的 Oracle 利用 nvl () 函数 解决问题
< "QueryPaysum"resulttype = "java.lang.integer"parametertype = "map"> pay_info p에서 nvl (sum (p.cash_fee), 0)를 선택하십시오.
补充 :
下面给大家在看下 : 用 isnull (), nvl (), ifnull () 및 coalesce () 函数替换空值
在数据库操作中, 往往要对一些查询出来的空值进行替换 往往要对一些查询出来的空值进行替换, 如函数 sum (), 这个函数如果没有值会返回 null, 这是我们不希望看到的 这是我们不希望看到的,
MySQL s :
ifnull (sum (data), 0)을 선택하십시오 ...
在 SQLSERVER 中我们可以这样写 :
isnull (sum (data), 0)를 선택하십시오 ...
在 오라클 :
NVL (sum (data), 0)을 선택하십시오 ...
对于所有数据库适用的方法可以这样写 :
Coalesce (sum (data), 0)를 선택하십시오 ...
Coalesce ()) :
Coalesce (가치, ...)
null null 的值, 如果参数列表全是 null, 则返回 null
Sselect Coalesce (Null, 1); -> 1 Select Coalesce (NULL, NULL, NULL); -> null