首页 > 其他分享 >mybatis 中 if-test 判断

mybatis 中 if-test 判断

时间:2022-11-30 17:22:18浏览次数:43  
标签:字符 OGNL 判断 test mybatis 解析

之前用都是判断参数是否为空之类的,今天要判断等于一个字符,直接写等于号反而会没有执行直接跳过,后来上网查阅了资料才知道

原因是:mybatis是用OGNL表达式来解析的,在OGNL的表达式中,’1’会被解析成字符,java是强类型的,char 和 一个string 会导致不等,所以if标签中的sql不会被解析。

所以单个的字符要写到双引号里面或者使用.toString()才行:

<if test="runType=='1'.toString()||runType=='2'.toString()">
            and a.run_type=#{runType}
</if>

目前只用到这里,后续有新用法继续添加

 

标签:字符,OGNL,判断,test,mybatis,解析
From: https://www.cnblogs.com/ssbxfsrm/p/16939146.html

相关文章

  • pytest + yaml 框架 -6.hooks 钩子功能实现
    前言在发送请求的时候,我们希望在发送请求参数前,带上签名的值,或者返回的内容需要二次处理,解密后返回。此功能我们可以用hooks钩子来实现pip安装插件pipinstallpyte......
  • Mybatis源码分析(十五) - 缓存技术
    MyBatis包含一个非常强大的查询缓存特性,使用缓存可以使应用更快地获取数据,避免频繁的数据库交互 缓存查询图: 一级缓存(也叫应用缓存)一级缓存默认会启用,想要关闭一级缓存......
  • Mybatis源码分析(十三) - 关联查询之多对多
    我的理解是,多对多其实就是两个一对多。嵌套结果:示例代码:<selectid="selectUserRole"resultMap="userRoleInfo">selecta.id,a.user_name,a.real......
  • Mybatis源码分析(十四) - discriminator 鉴别器映射
    在特定的情况下使用不同的pojo进行关联,鉴别器元素就是被设计来处理这个情况的。鉴别器非常容易理解,因为它的表现很像Java语言中的switch语句discriminator标签常用的......
  • Mybatis源码分析(十七) - 源码包分析【日志模块】
    mybatis源码下载地址:​​https://github.com/mybatis/mybatis-3​​MyBatis源码导入过程:下载MyBatis的源码检查maven的版本,必须是3.25以上,建议使用maven的最新版本mybatis的......
  • Mybatis源码分析(二十一) - 核心流程分析
    mybatis核心流程三大阶段初始化阶段读取XML配置文件和注解中的配置信息,创建配置对象,并完成各个模块的初始化的工作代理阶段封装iBatis的编程模型,使用mapper接口开发的初始化......
  • 火山引擎 DataTester 智能运营,帮企业实现“千人千面”精准营销
    今天,越来越多的企业与商家把营销的目光聚焦于线上,并不断在精细化运营和精细化流量上投入,耕耘精准营销。然而,想要做好精准营销难度不小,首要维度是客户精准,要能对客户属性有......
  • 判断是不是二叉搜索树
        import java.util.*;/* * public class TreeNode { *   int val = 0; *   TreeNode left = null; *   TreeNode right =......
  • [Ansible专栏]Ansible条件判断的介绍和使用
    微信公众号:运维开发故事,作者:姜总前言很多时候,某些场景下playbook的结果依赖于变量、fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定......
  • 用redis统计大量用户的登陆情况[只判断是否活跃]
    有这样的一个场景需求:有上亿的用户,要统计这批用户的登陆情况,例如一周连续登陆,连续三天是是否登陆,一周活跃天数等用户存在的挑战数据如何尽可能用小的空间存储如何能快速获......