2017-09-06 55 views
1

我的數據庫連接是MyBatis的返回null, 我DAO使用此項功能:MyBatis的:試圖從一個方法具有基本返回類型

public int getUpdateTaskStateStart(Task task); 

而且FPGA實現位於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> 

在DB中,我有表UPDATE_TASK_STATE,其中包括START_UPDATE字段。

我的問題是,當我運行getUpdateTaskStateStart(Task)(發送任務PARAM包括rashutId =「248」和任務id =「2449」的Fileds內),我得到錯誤:

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

什麼是錯的我功能? 謝謝!

回答

1

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

將其更改爲resultType="int"

0

stacktrace指出你的方法返回「NULL」,但該方法有一個「int」返回類型,它是Java中的一個primitve數據類型,因此不能返回「NULL」值。

將方法的返回類型更改爲其包裝類「Integer」,那麼至少該異常將消失。

相關問題