您的位置:首页 > 运维架构

错误记录(11): source is null for getProperty(null, "name")

2018-01-13 16:35 1446 查看
使用SSM框架做项目时,使用到了XML中的判断条件查询方式,代码如下:
<if test="machineInfo.name != null and machineInfo.name != ''">
AND b.name like CONCAT('%',#{machineInfo.name},'%')
</if>也就是如果有值,按条件查询,如果没有传入条件,则展示所有,运行项目时报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'machineInfo.name != null and machineInfo.name != '''. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "name")
source is null for getProperty(null, "name") 

这个相当于Mybatis封装的空指针异常,单没有传入条件时,machineInfo这个对象即为空,而进行条件判断machineInfo.name,自然会报空指针。
解决方法是加一层判断,先判断machineInfo是不是空:
<if test="machineInfo != null and machineInfo != ''">
<if test="machineInfo.name != null and machineInfo.name != ''">
AND b.name like CONCAT('%',#{machineInfo.name},'%')
</if>
</if>这样,没有传入任何参数时,也不会报错了,这里记录一下这个错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐