欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mybatis 条件判断单双引号解析问题

程序员文章站 2023-09-29 08:29:49
最近使用 Mybatis 遇到了一个奇怪的问题,前端传了一个数字字符串(type = "1") ,我做了如下判断: 就这样系统无情的告诉我这样无法被解析,原因是字符串和数字无法判断相等!Are you kidding me?我这明明写的是字符串呀! 后来,跟踪了下源码,发现 '1' 确实被直接当成数 ......

最近使用 mybatis 遇到了一个奇怪的问题,前端传了一个数字字符串(type = "1") ,我做了如下判断:

        <if test=" type == '1' ">

        </if>

就这样系统无情的告诉我这样无法被解析,原因是字符串和数字无法判断相等!are you kidding me?我这明明写的是字符串呀!

后来,跟踪了下源码,发现 '1' 确实被直接当成数字处理了,查阅了一些资料,原来 mybatis 是使用的 ognl表达式来进行解析的,所以单个的字符要写到双引号里面才行,那么要怎么写呢?

可以这样写:

        <if test=' type == "1" '>

        </if>

或者这样写:

        <if test="type == '1'.tostring()">

        </if>