mybatis中使用if标签比较两个字符串是否相等
<!-- 此处使用if比较是否相等 -->
范例一:
<select id="findClientIds" parameterType="map" resultType="map"> SELECT sys_user.id,sys_user.clientId FROM sys_user <where> <if test="grade!= null and grade!= ''and grade == '3'.toString()"> id =( SELECT PRIMARY_PERSON FROM sys_office WHERE id = (SELECT office_id FROM sys_user WHERE id = #{userId} )) </if> <if test="grade!= null and grade!= '' and grade == '2'.toString()"> id =( SELECT PRIMARY_PERSON FROM sys_office WHERE id = (SELECT company_id FROM sys_user WHERE id = #{userId} )) </if> <if test="grade!= null and grade!= '' and grade == '1'.toString()"> id = '' </if> </where> </select>
范例二:
mybatis 映射文件中,if标签判断字符串相等,两种方式:
因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候
<if test="sex=='Y'.toString()">
或者使用下面的写法 <if test = 'sex== "Y"'>
注意:
不能使用
<if test="sex=='Y'"> and 1=1 </if>
因为mybatis会把'Y'解析为字符,java是强类型语言,所以不能这样写。
你的能量超乎你想象_________
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决