: :
org.springframework.web.util.nesterServleTexception: فشل معالجة الطلب ؛ الاستثناء المتداخل هو org.apache.ibatis.binding.bindingException: Mapper method 'com.bill.springmybatis.dao.userdao.getuseridbyname حاولت إعادة فارغ من طريقة مع نوع العائد البدائي (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 (characterencodingfilter.java:88)
org.springframework.web.filter.onceperRequestFilter.dofilter (shonledrequestfilter.java:76)
返回类型设置为封装类型 عدد صحيح 或者基本类型 int , 都有可能出错
例如
<select id = "querypaysum" resulttype = "java.lang.integer" parametertype = "map"> حدد sum (p.cash_fee) من pay_info p حيث 1 = 1 و p.trade_result_code = #{traderesultcode} </select>我用的 oracle 利用 nvl () 函数 解决问题
<select id = "querypaysum" resulttype = "java.lang.integer" parametertype = "map"> حدد nvl (sum (p.cash_fee) ، 0) من pay_info p حيث 1 = 1 و p.trade_result_code = #{traderesultcod: :
: : 用 isnull () ، nvl () ، ifnull () و coalesce () 函数替换空值
在数据库操作中 , 往往要对一些查询出来的空值进行替换 , 如函数 sum () ، 这个函数如果没有值会返回 null ، 这是我们不希望看到的 ,
在 mysql : :
حدد ifnull (sum (data) ، 0) ...
sqlserver : :
حدد isnull (sum (data) ، 0) ...
在 أوراكل :
حدد NVL (SUM (DATA) ، 0) ...
: :
حدد COALESCE (SUM (بيانات) ، 0) ...
COALESCE () : :
COALESCE (القيمة ، ...)
返回第一个不是 فارغ 的值 , 如果参数列表全是 فارغ ، 则返回 فارغ
sselect coalesce (null ، 1) ؛ -> 1select coalesce (null ، null ، null) ؛ -> خالية