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

本文介绍了一个在使用MyBatis结合MySQL时出现的查询空值异常问题及两种解决方案:一是通过SQL语句设置默认值;二是更改返回值类型并配合业务代码处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


<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>




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值