下面查询中表名T_DT_HOMEWORK_ARRANGE 应该换成T_DT_HOMEWORK,由于疏忽导致表名写错了。
<select id="getBackHomeworks" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from T_DT_HOMEWORK_ARRANGE ha where ha.PROJECT_ID=#{projectId} and ha.HOMEWORK_STATUS=3 and ha.CREATOR_ID=#{userId}
</select>
这样mybatis会报如下错误,意思是说没有查询到记录,但是正常情况下查询不到记录应该是空记录,而不是null,后来仔细检查后发现表名写错了,按道理表名错了查询语句应该报错才对,因为没有对应的字段,这样的话一眼就能看出问题所在了。
java.lang.NullPointerException
at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:127)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:90)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40)
at $Proxy77.getBackHomeworks(Unknown Source)
at cn.com.teacher.cistus.dt.service.HomeworkService.getBackHomeworks(HomeworkService.java:198)