簡體   English   中英

MyBatis:嘗試從具有原始返回類型的方法中返回null

[英]MyBatis: Attempted to return null from a method with a primitive return type

我的數據庫連接是與mybatis相連的,我具有此功能的DAO:

public int getUpdateTaskStateStart(Task task);

實現位於XML文件中:

<select id="getUpdateTaskStateStart" resultType="Integer" parameterType="com.ladpc.mobile.entities.Task">

        SELECT START_UPDATE
        FROM UPDATE_TASK_STATE
            WHERE 
        TASK_ID = #{taskId} AND RASHUT_ID=#{rashutId} 

    </select>

在數據庫中,我有表UPDATE_TASK_STATE,其中包含START_UPDATE字段。

我的問題是,當我運行getUpdateTaskStateStart(Task) (並發送其中包含rashutId =“ 248”和taskId =“ 2449”文件的任務參數)時,出現錯誤:

org.apache.ibatis.binding.BindingException: Mapper method 'com.ladpc.mobile.dao.AssesmentTasksDao.getUpdateTaskStateStart attempted to return null from a method with a primitive return type (int).

我的功能出了什么問題? 謝謝!

您的Mapper XML指定resultType="Integer" ,但是getUpdateTaskStateTask()想要返回一個原始int,而不是Integer包裝器類。

將其更改為resultType="int"

stacktrace指出,您的方法正在返回“ NULL”,但是該方法具有“ int”返回類型,這是Java中的原始數據類型,因此無法返回“ NULL”值。

將方法的返回類型更改為其包裝器類“ Integer”,那么至少該異常將消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM