mybatis 如何通過resultMap 返回long
<resultMap type='java.lang.Long'> <result column='budget' property='budget' javaType='long'/> </resultMap> mybatis long 類型返回為null報異常
Mapper method ’com.mpn.dao.TWeatherMapper.avgWeatherTemperature attempted to return null from a method with a primitive return type (long).
<select resultType='java.lang.Long' parameterType='java.lang.String' >SELECT IFNULL(AVG(WeatherTemperature),0) AS OrderAverage FROM t_weather WHERE WeatherDate= #{date,jdbcType=VARCHAR}; </select> <select resultType='java.lang.Long' parameterType='java.lang.String' >SELECT SUM(WeatherTemperature) AS OrderAverage FROM t_weather WHERE WeatherDate= #{date,jdbcType=VARCHAR}; </select> <select resultType='java.lang.Long' parameterType='java.lang.String' >SELECT IFNULL(AVG(WeatherHumidity),0) AS OrderAverage FROM t_weather WHERE WeatherDate= #{date,jdbcType=VARCHAR}; </select>
由于返回為空long中沒有此類型所以拋異常,改為
<!-- 根據日期來進行計算平局值與 --> <select resultType='java.lang.Long' parameterType='java.lang.String' >SELECT IFNULL(AVG(WeatherTemperature),0) AS OrderAverage FROM t_weather WHERE WeatherDate= #{date,jdbcType=VARCHAR}; </select> <select resultType='java.lang.Long' parameterType='java.lang.String' >SELECT IFNULL(SUM(WeatherTemperature),0) AS OrderAverage FROM t_weather WHERE WeatherDate= #{date,jdbcType=VARCHAR}; </select> <select resultType='java.lang.Long' parameterType='java.lang.String' >SELECT IFNULL(AVG(WeatherHumidity),0) AS OrderAverage FROM t_weather WHERE WeatherDate= #{date,jdbcType=VARCHAR}; </select>
用IFNULL來進行判斷!
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: