[英]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.