mybatis `if test` 标签判断字符串

错误:

这里mentorTypeString类型,运行后发现不生效。后尝试将'1'改为双引号,问题解决。

java 复制代码
<if test="mentorType != null and mentorType!='' and mentorType=='1' ">
       AND u.student_mentor_id = #{searchValue}
</if>

正确写法:

java 复制代码
<if test='mentorType != null and mentorType!="" and mentorType=="1" '>
       AND u.student_mentor_id = #{searchValue}
</if>

搜了一下,不少人遇到这个问题,并提供了另一种解决方法:用单引号时这样写

java 复制代码
'1'.toString()

鉴于能力有限,不能进一步深入研究mybatis <if test>判断原理。下图来自文心一言

相关推荐
代码雕刻家26 分钟前
3.5.Maven-依赖管理-依赖配置&依赖传递
java·maven
qiuyuyiyang28 分钟前
【MySQL】环境变量配置
数据库·mysql·adb
!chen32 分钟前
MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁
java·tomcat·mybatis
无限大61 小时前
《AI观,观AI》:善用AI赋能|让AI成为你深耕核心、推进重心的“最强助手”
前端·后端
uzong1 小时前
CoPaw是什么?-- 2026年开源的国产个人AI助手
人工智能·后端
Jin、yz1 小时前
JAVA 八股
java·开发语言
无心水1 小时前
【任务调度:框架】11、分布式任务调度进阶:高可用、幂等性、性能优化三板斧
人工智能·分布式·后端·性能优化·架构·2025博客之星·分布式调度框架
va学弟1 小时前
Java 网络通信编程(6):视频通话
java·服务器·网络·音视频
pjw198809032 小时前
Spring Framework 中文官方文档
java·后端·spring
神仙别闹2 小时前
基于NodeJS+Vue+MySQL实现一个在线编程笔试平台
前端·vue.js·mysql