mybatis-plus异常, org.apache.ibatis.builder.BuilderException: Error evaluating expression AND

原来正常的接口,今天调用的时候又异常了。

异常信息:nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 'null!=name AND name != '''. Cause: org.apache.ibatis.ognl.ExpressionSyntaxException: Malformed OGNL expression: null!=name AND name != '' [org.apache.ibatis.ognl.ParseException: Encountered \" <IDENT> \"AND \"\" at line 1, column 12.\r\nWas expecting one of:\r\n    <EOF> \r\n    \",\" ...\r\n    \"=\" ...\r\n    \"?\" ...\r\n    \"||\" ...\r\n    \"or\" ...\r\n    \"&&\" ...\r\n    \"and\" ...\r\n    \"|\" ...\r\n    \"bor\" ...\r\n    \"^\" ...\r\n    \"xor\" ...\r\n    \"&\" ...\r\n    \"band\" ...\r\n    \"==\" ...\r\n    \"eq\" ...\r\n    \"!=\" ...\r\n    \"neq\" ...\r\n    \"<\" ...\r\n    \"lt\" ...\r\n    \">\" ...\r\n    \"gt\" ...\r\n    \"<=\" ...\r\n    \"lte\" ...\r\n    \">=\" ...\r\n    \"gte\" ...\r\n    \"in\" ...\r\n    \"not\" ...\r\n    \"<<\" ...\r\n    \"shl\" ...\r\n    \">>\" ...\r\n    \"shr\" ...\r\n    \">>>\" ...\r\n    \"ushr\" ...\r\n    \"+\" ...\r\n    \"-\" ...\r\n    \"*\" ...\r\n    \"/\" ...\r\n    \"%\" ...\r\n    \"instanceof\" ...\r\n    \".\" ...\r\n    \"(\" ...\r\n    \"[\" ...\r\n    <DYNAMIC_SUBSCRIPT> ...\r\n    \"(\" ...\r\n    ]"

错误原因:

@Select({"<script>","SELECT * FROM lbs_device WHERE deleted = 0 AND app_id = #{appId} " +
            "<if test=\"null!=name and name != ''\"> AND name=#{name}</if>" +
            "<if test=\"null!=imei and imei != ''\"> AND imei=#{imei}</if>" +
            "<if test=\"null!=enterpriseId and enterpriseId != -2\"> AND tenant_id=#{enterpriseId}</if>","</script>"})
    List<DeviceEntity> queryPageList(@Param("name")String name , @Param("imei") String imei, @Param("appId") Long appId , @Param("enterpriseId") Long enterpriseId);

这个<if>判断的test条件不能使用AND,只能使用and

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值