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中沒有此類型所以拋異常,改為
<!-- 根據(jù)日期來進(jìn)行計算平局值與 --> <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來進(jìn)行判斷!
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. docker中修改mysql最大連接數(shù)及配置文件的實(shí)現(xiàn)2. MyBatis中$和#的深入講解3. MyBatis下SQL注入攻擊的3種方式4. Windows10環(huán)境安裝sdk8的圖文教程5. Fluent Mybatis實(shí)現(xiàn)環(huán)境隔離和租戶隔離6. SQLite教程(二):C/C++接口簡介7. SQL-Server2005mssqlserver服務(wù)與sqlexpress服務(wù)有什么區(qū)別8. SQL Server數(shù)據(jù)倉庫的構(gòu)建與分析9. SQL Server數(shù)據(jù)庫超級管理員賬號防護(hù)知識10. MySQL 性能、監(jiān)控與災(zāi)難恢復(fù)
