码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MyBatis 判断条件为不等于的问题(<if test=“变量!= ‘1‘.toString()“> xxx </if>


    在用MyBatis操作数据库的时候相信很多人都用到,当在判断null, 大于,大于等于,小于,小于等于时,判断条件为不等于或者等于时估计蛮多人遇到坑了。明明看上去代码中传递的值和SQL中if判断的值一致。却不生效。

    当MyBatis 判断条件为等于的时候,常量需要加 .toString() 来转换,这种方法是稳定的,推荐使用

    1. <if test= "object.ifHide != null and object.ifHide != ''
    2. and object.ifHide != '1'.toString()">
    3. and xxx='1'
    4. </if>

    其中判断 ifHide != '1' 时,人为认为成功,但实际上是不成功的,需要改为   ifHide != '1'.toString()方可成功,原因具体没有细入研究,根据实际使用推测应该是 “不等于”和"等于" 在java中是个比较复杂问题,涉及的“等于”有可能是变量地址相等,或者是变量值内容相等,在XML文件中简单的 == 在经过MyBatis处理后无法判断是哪种类型的“相等”,所以加 .toString()做强制转换操作,MyBatis就知道是值内容的比较,当然就成功了; 注意这个常量不限于数字,对于字母,如 'y' 同样需要加上  .toString()方可成功,如下: 

    1. <if test= "object.ifHide != null and object.ifHide != ''
    2. and object.ifHide != 'y'.toString()">
    3. and xxx='1'
    4. </if>

  • 相关阅读:
    diy的电流电压表,高频率采集,上位机同步显示
    VR数字党建:红色文化展厅和爱国主义教育线上线下联动
    SQLi-LABS Page-3 (Stacked Injections)
    毕业设计-电子商务网站(二)
    VMWare Ubuntu压缩虚拟磁盘
    CSS 解决单词之间空隙很大的问题
    leetcode92. 反转链表 II(java)
    linux系统安装MySQL数据库安装保姆级教程及1045错误和2058问题解决
    你可曾知道,Java为什么需要虚拟机?
    Win 11 打开未知文件/打开方式 该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在“默认应用设置”页面中创建关联。
  • 原文地址:https://blog.csdn.net/y2020520/article/details/128129572
  • 最新文章
  • AI 赋能 Push Kit 场景化消息开发,高效完成鸿蒙应用推送能力接入
    .NET 11 性能深度解读:这一次,真的「到 11」了
    数据脱敏是怎么做的
    Kafka 三节点集群:只订阅一个 broker 会丢消息吗?能用 VIP订阅 吗?
    从一份 README 到 3 万星,RustFS 这一年都干了什么?
    前端框架选择的思考
    AI 都会写代码了,还要不要学传统编程了? (强烈建议阅读)
    薅WorkBuddy羊毛,无限使用DeepSeek,自动签到+积分躺赚+通用 API 接口
    代码之外,还有回声
    你以为加个 TenantId 字段就算隔离了,其实还差三道防线
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号