Mapper method 'com.autoyol.mapper.trans.AccountLogMapper.getTotalIncomByMemNoLastest attempted to return null from a method with a primitive return type (int).解決方法


1.打開日志輸出,降低日志級別。

<AppenderRef ref="console" level="trace"></AppenderRef>  否則看不到報錯。。

2.調整mysql語句,不能使用order by limit之類的

<!-- SELECT IFNULL(amt,1) FROM account_log WHERE mem_no=#{value} AND income_type != 4 ORDER BY id DESC LIMIT 1 -->
    <select id="getTotalIncomByMemNoLastest" parameterType="int" resultType="Integer">
        
        SELECT IFNULL(MAX(amt),1) FROM account_log WHERE id = (SELECT MAX(id) FROM account_log WHERE mem_no=#{value} AND income_type != 4)
    </select>


<!-- 
    處理非空的情況,同時處理MAX(order_no)訂單號的情況。
    SELECT order_no AS orderNo FROM trans WHERE invite_group = #{groupOrderNo} AND is_group=1 AND order_no != #{orderNo} AND STATUS = 21 ORDER BY id ASC LIMIT 1 
    -->
    <select id="getTransGroupOrderRestToIsGroup" resultType="java.lang.Long">
        SELECT IFNULL(MAX(order_no),0) AS orderNo FROM trans WHERE id = (
            SELECT IFNULL(MIN(id),0) AS orderNo FROM trans WHERE invite_group=#{groupOrderNo} AND is_group=1 AND order_no != #{orderNo} AND STATUS = 21 
        )
    </select>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM