Mybatis中xml文件test语法使用==判断时遇到的问题

  • Post author:
  • Post category:其他


一、前言

今天在写一个需要对传值orderSort进行0/1判断 来执行order by 的asc/desc来实现正序倒序操作,经过各方排查,发现orderSort在判断时总是不生效(排除传值问题下),遂锁定test使用问题

1. 先说解决办法

①在需要判断的值后面加.toString(),

②在判断相等时使用.equals()

2. 问题

在test语法中使用判断时,尽管传来的orderSort的值是varchar类型的‘0’或‘1’,仍是按照整型来判断,所以不起作用,需要对其进行转换使用toString方法解决。

问题代码:

                <if test="orderSort=='0'">
                    ORDER BY rank ASC
                </if>
                <if test="orderSort=='1'">
                    ORDER BY rank DESC
                </if>

修改后代码:

                <if test="orderSort=='0'.toString()">
                    ORDER BY rank ASC
                </if>
                <if test="orderSort=='1'.toString()">
                    ORDER BY rank DESC
                </if>



版权声明:本文为weixin_44595699原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。