<select id="getMaxHitEventId" parameterType="string" resultType="int">
select max(app_hitEventID) from hits_tab_app where app_hitV=#{app_hitV}
</select>
mybatis+mysql查询出来会报如下错误:attempted to return null from a method with a primitive return type (int).
我的返回值类型为int,但是查询出来的结果有空值,所以会出现如上的异常,以下为解决办法:
1.当查询出来为空时,给赋值一个默认值:
select IFNULL(max(app_hitEventID),0) from hits_tab_app where app_hitV=#{app_hitV}
2.将返回值类型改为Integer,然后由业务代码去进行判断:
<select id="getMaxHitEventId" parameterType="string" resultType="Integer">
select max(app_hitEventID) from hits_tab_app where app_hitV=#{app_hitV}
</select>