在 MyBatis-Plus 中,当使用 lambdaQuery().eq(CommonUser::getOpenId, openId).one()
进行查询时,如果未找到匹配的记录,不会抛出异常,而是会返回 null
。
具体来说:
- 如果查询条件匹配到了数据库中的一条记录,则返回该记录。
- 如果查询条件没有匹配到任何记录,则返回
null
,而不会抛出异常。
CommonUser user = lambdaQuery().eq(CommonUser::getOpenId, openId).one();
if (user != null) {// 找到了匹配的用户
} else {// 没有找到匹配的用户
}
但是在写家政的时候 一直出现
org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew.sqlSegment != null and ew.sqlSegment != '' and ew.nonEmptyOfNormal'. Cause: org.apache.ibatis.ognl.OgnlException: sqlSegment [java.lang.ExceptionInInitializerError]
我以为是语句问题 断点也没问题 百思不得其解
最后通过查资料发现
这个错误通常是因为 MyBatis-Plus 版本与 java 版本不兼容引起的 我的mp版本是3.4.3
将java版本修改为11就可以了