:
org.springframework.web.util.netedServletException: le traitement de la demande a échoué; L'exception imbriquée est org.apache.ibatis.binding.bindingException: Mappel Method 'com.bill.springmybatis.dao.userdao.getuseridbyname a tenté de retourner null d'une méthode avec un type de retour primitif (int).
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 (caractérisation de lancodingFilter.java:88)
org.springframework.web.filter.onceperRequestFilter.Dofilter (autrefoisperRequestFilter.java:76)
返回类型设置为封装类型 entier 或者基本类型 int , 都有可能出错
例如
<select id = "querypaysum" resultType = "java.lang.integer" ParamètreType = "Map"> SELECT SUM (P.CASH_FEE) FROMA
我用的 Oracle 利用 nvl () 函数 解决问题
<select id = "querypaysum" resultType = "java.lang.integer" paramètreType = "map"> sélectionner nvl (sum (p.cash_fee), 0) from pay_info p where 1 = 1 et p.trade_result_code = # {traderesultcode} </ select>:
下面给大家在看下 : 用 isNull (), nvl (), ifnull () et coalesce () 函数替换空值
在数据库操作中 , 往往要对一些查询出来的空值进行替换 , 如函数 sum (), 这个函数如果没有值会返回 null, 这是我们不希望看到的 ,
在 Mysql 中我们可以这样来写 :
Sélectionnez Ifnull (somme (données), 0) ...
在 SqlServer 中我们可以这样写 :
Sélectionnez IsNull (somme (données), 0) ...
在 Oracle 中我们可以这样写 :
Sélectionnez NVL (somme (données), 0) ...
:
Sélectionnez les coalesce (somme (données), 0) ...
Fusionner () : :
Fusionner (valeur, ...)
返回第一个不是 NULL 的值 , 如果参数列表全是 NULL, 则返回 NULL
SSELLECT COMESCE (NULL, 1); -> 1Select coalesce (nul, nul, nul); -> NULL