会报错如下:
org.springframework.web.util.nestedservletexception: การประมวลผลคำขอล้มเหลว; ข้อยกเว้นที่ซ้อนกันคือ 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 (ตัวละครฯ
org.springframework.web.filter.onceperrequestfilter.dofilter (ครั้งเดียว
返回类型设置为封装类型จำนวนเต็ม或者基本类型 int, 都有可能出错
例如
<select id = "querypaysum" resultType = "java.lang.integer" parameterType = "แผนที่"> เลือกผลรวม (p.cash_fee) จาก pay_info p โดยที่ 1 = 1 และ p.trade_result_code = #{TraderesultCode我用的 Oracle 利用 nvl () 函数解决问题
<select id = "querypaysum" resultType = "java.lang.integer" parameterType = "แผนที่"> เลือก nvl (sum (p.cash_fee), 0) จาก pay_info p โดยที่ 1 = 1 และ p.trade_result_code = #{TraderesultCode补充:
下面给大家在看下: 用 isnull (), nvl (), ifnull () และ coalesce () 函数替换空值
在数据库操作中, 往往要对一些查询出来的空值进行替换, 如函数 sum (), 这个函数如果没有值会返回 null, 这是我们不希望看到的,
在 mysql 中我们可以这样来写:
เลือก ifnull (sum (data), 0) ...
在 sqlserver 中我们可以这样写:
เลือก ISNULL (ผลรวม (ข้อมูล), 0) ...
在 Oracle 中我们可以这样写:
เลือก NVL (ผลรวม (ข้อมูล), 0) ...
对于所有数据库适用的方法可以这样写:
เลือก Coalesce (ผลรวม (ข้อมูล), 0) ...
coalesce () 用法:
coalesce (มูลค่า, ... )
返回第一个不是 null 的值, 如果参数列表全是 null, 则返回 null
sselect coalesce (null, 1); -> 1 เลือก coalesce (null, null, null); -> null