会报错如下:
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