attempted to return null from a method with a primitive return type (Double).

  1. <select id="getMaxHitEventId" parameterType="string" resultType="int">  
  2.     select max(app_hitEventID) from hits_tab_app where app_hitV=#{app_hitV}  
  3. </select>  

mybatis+mysql查询出来会报如下错误:
attempted to return null from a method with a primitive return type (int).
我的返回值类型为int,但是查询出来的结果有空值,所以会出现如上的异常,以下为解决办法:

1.当查询出来为空时,给赋值一个默认值:

  1. select IFNULL(max(app_hitEventID),0) from hits_tab_app where app_hitV=#{app_hitV}  

2.将返回值类型改为Integer,然后由业务代码去进行判断:

  1. <select id="getMaxHitEventId" parameterType="string" resultType="Integer">  
  2.     select max(app_hitEventID) from hits_tab_app where app_hitV=#{app_hitV}  
  3. </select>  

 

posted @ 2017-11-28 13:36  wumengjuan  阅读(7054)  评论(0编辑  收藏  举报