发生Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, \“userId\“)“

本文记录了一次使用MyBatis过程中遇到的问题,即在Mapper接口方法中未正确使用@param注解导致的异常。通过调整接口定义解决了SQL表达式评估错误的问题。

在我使用MyBatis中使用Mapper接口的时候MyBatis出现以下错误:

"nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'param.userId != null and param.userId !='' '. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, \"userId\")",

而我的接口中是这样的

int selectXXXByUnionId(final Map<String, Object> param);

一开始我以为是Mapp.xml中的SQL语句中的判断逻辑出错了,然后仔细看看,认真对比过后并没有异常。

直到我回去再看Mapper接口才发现注解中@param注解没有标识到我的接口上面,修改后:

int selectXXXByUnionId(@Param("param") final Map<String, Object> param);

然后就解决这个问题了!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值