會報錯如下:
org.springframework.web.util.nestedservletexception:請求處理失敗;嵌套的異常是org.apache.ibatis.binding.bindingexception:mapper方法'com.bill.springmybatis.dao.userdao.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(targeenCodingFilter.java:88)
org.springframework.web.filter.onceperrequestfilter.dofilter(一次perrequestfilter.java:76)
返回類型設置為封裝類型整數或者基本類型int,都有可能出錯
例如
<select id =“ querypaysum” resulttype =“ java.lang.integer” parametertype =“ map”> select sum sum(p.cash_fee)從pay_info p wity 1 = 1 = 1 and p.trade_result_code =#=#{tradereSultCode} </select> select>>我用的oracle利用nvl()函數函數
<select id =“ querypaysum” resultype =“ java.lang.integer” parameteType =“ map”> select nvl(sum(p.cash_fee),0),來自pay_info p,其中1 = 1 = 1 = 1 and p.trade_result_code =#
補充:
下面給大家在看下:用isnull(),nvl(),ifnull()和cocece()函數替換空值
在數據庫操作中,往往要對一些查詢出來的空值進行替換,如函數sum(),這個函數如果沒有值會返回
在mysql中我們可以這樣來寫::
選擇IFNULL(sum(data),0)...
在sqlserver中我們可以這樣寫::
選擇isnull(sum(data),0)...
在oracle中我們可以這樣寫::
選擇NVL(sum(data),0)...
對於所有數據庫適用的方法可以這樣寫:
選擇cocece(sum(data),0)...
cocece()用法:
結合(價值,...)
返回第一個不是null的值,如果參數列表全是null,則返回null
SSELECT COLESCE(Null,1); - > 1select cocece(Null,Null,Null); - > null