zoukankan      html  css  js  c++  java
  • mybits 笔记

    2020-02-20

    if 比较两个字符串

    <trim prefix="where">
                    city_code = #{city_code}
                    <if test="age == '0'">AND (age IS NULL OR age = '0')</if>
                    <if test="age != '0'">AND (age IS NULL OR age = '0' OR age = #{age})</if>
    </trim>

    上面 if 判断age字符串是否等于字符串0  ;age为 "0" 时,执行的也是第二条 sql;

    原来 单引号是字符类型(char) ,无法和字符串类型相等,所以第一个sql条件不会报错,但也永远不会成立;

    解决方法1:

    用双引号包围要比较的字符串内容

    <trim prefix="where">
                    city_code = #{city_code}
                    <if test='age == "0"'>AND (age IS NULL OR age = '0')</if>
                    <if test='age != "0"'>AND (age IS NULL OR age = '0' OR age = #{age})</if>
    </trim>

    解决方法2:

    .toString()

    <trim prefix="where">
                    city_code = #{city_code}
                    <if test="age == '0'.toString()">AND (age IS NULL OR age = '0')</if>
                    <if test="age != '0'.toString()">AND (age IS NULL OR age = '0' OR age = #{age})</if>
    </trim>

    延伸:if 比较两个值相等:"==" 和 "=";如果使用"="比较,mybits会自动把等号两边的值转为数据类型(Number),所以如果是两个数字,那可以直接用"=";如果是两个字符串,必须用"==";


  • 相关阅读:
    Mybatis(spring)(多个参数)(插入数据返回id)
    乱码的情况
    struts2常用类型的Result
    struts2中的session使用
    linux查看端口占用程序
    webservice笔记
    Java读文件夹
    JSON笔记
    about Base64
    【转载】MyEclipse6.5 KeyGen
  • 原文地址:https://www.cnblogs.com/javencs/p/12335858.html
Copyright © 2011-2022 走看看