会报错如下 :
org.springframework.web.util.nestedServletException: Anfrageverarbeitung fehlgeschlagen; Eine verschachtelte Ausnahme ist org.apache.ibatis.binding.bindingException: mapper -Methode 'com.bill.springmybatis.dao.userdao.getUeridbyName versuchte, Null mit einem primitiven Rückgabetyp (int) aus einer Methode zurückzugeben.
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.CharactercodingFilter.Dofilterinternal (CharakterCodingfilter.java:88)
org.springframework.web.filter.onceperrequestFilter.dofilter (einmalerRequestFilter.java:76)
返回类型设置为封装类型 Ganzzahl 或者基本类型 int , 都有可能出错
例如
<select id = "queryPayaysum" resultType = "java.lang.Ineger" parameterType = "map"> summe (p.cash_fee) aus pay_info p wobei 1 = 1 und P.Trade_Result_code = #{TraderesultCode} </select </ausgewählt} </>>我用的 Oracle 利用 nvl () 函数 解决问题 解决问题 解决问题
<select id = "queryPayaysum" resultType = "java.lang.Ineger" parameterType = "map"> wählen Sie NVL (SUM (p.cash_fee), 0) aus pay_info p WHERE 1 = 1 und P.TRADE_RESULT_CODE = #{{TradeResultCode} </select>补充 :
下面给大家在看下 : 用 isnull (), nvl (), ifnull () und coalesce () 函数替换空值
在数据库操作中 , 往往要对一些查询出来的空值进行替换 , 如函数 sum (), 这个函数如果没有值会返回 null, 这是我们不希望看到的 ,
在 mysql 中我们可以这样来写 :
Wählen Sie IFnull (Summe (Daten), 0) ...
在 sqlserver 中我们可以这样写 :
Wählen Sie IsNull (Summe (Daten), 0) ...
在 Oracle 中我们可以这样写 :
Wählen Sie NVL (Summe (Daten), 0) ...
对于所有数据库适用的方法可以这样写 :
Wählen Sie Koalesce (Summe (Daten), 0) ...
Zusammenfasst () 用法 :
Verschmelzen (Wert, ...)
返回第一个不是 null 的值 , 如果参数列表全是 null, 则返回 null
SSELECT COULECT (NULL, 1); -> 1Select Calescace (NULL, NULL, NULL); -> null