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