会报错如下:
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(charitionEncodingfilter.java:88)
org.springframework.web.filter.onceperRequestfilter.dofilter(oneperrequestfilter.java:76)
integer或者基本类型int、都有可能出错
例如
<select id = "querypaysum" resultType = "java.lang.integer" parametertype = "map"> pay_info pからselect sum(p.cash_fee)ここで、1 = 1およびp.trade_result_code =#{traderesultcode} </select>我用的oracle利用nvl()函数
<select id = "querypaysum" resultType = "java.lang.integer" parametertype = "map"> select nvl(sum(p.cash_fee)、0)from pay_info p from 1 = 1およびp.trade_result_code =#{traderesultcode}补充:
下面给大家在看下:用isnull()、nvl()、ifnull()、およびcoalesce()函数替换空值
在数据库操作中、往往要对一些查询出来的空值进行替换、如函数sum()、这个函数如果没有值会返回null、这是我们不希望看到的、
mysql中我们可以这样来写:
ifnull(sum(data)、0)を選択してください...
在sqlServer中我们可以这样写:
isnull(sum(data)、0)を選択してください...
在オラクル中我们可以这样写:
nvl(sum(data)、0)を選択してください...
对于所有数据库适用的方法可以这样写:
Coalesce(sum(data)、0)を選択します...
coalesce()用法:
合体(価値、...)
返回第一个不是null、如果参数列表全是null、null
Select Coalesce(null、1); - > 1 Coalesce(null、null、null)を選択します。 - > null