• Mybatis映射文件<!CDATA[[]]> 转义问题


    有没有觉得在mybatis映射文件写>(大于),<(小于)的时候贼麻烦,还得把“<”,">"换位为"&lt;", “&gt;”,映射文件不能直接写>,必须经过转义

    eg:

    映射文件中:select  name,age from  user where regis_time &gt; '2018-09-09'
    (对应的sql脚本:
    select name,age from user where regis_time > '2018-09-09'
    )

    很麻烦对不对,感觉转以后,好像不认识了,有个标签厉害了,帮你解决转义。-<!CDATA[[]]>, 映射文件的sql就用下面的方式写

    select name,age from  user  where  regis_time <![CDATA[>]]> '2018-09-09'
    

      

    <![CDATA[AND bill_date <= DATE_FORMAT(NOW(), '%Y-%m-%d')]]>
           在xml文件中<,>,& ,", '不能直接存储,必须转移为实体,如"&lt;", “&gt;”才能被保存进xml文档,
         <!CDATA[[]]>的意思是遇到 <= ,>=这些运算符按照原文本写入
     
    再提供一个复杂的demo -- mysql查询指定日期区间内的数据
    MySQL 查询时 date>= dateA  and date<= dateB,这个区间是左闭右开区间的,要想让右闭需要用 date_sub(参数1, interval -1 day);
       sql脚本:
    select name,age  from user where age >18 AND regist_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)
    
    映射文件中的脚本
    select name,age  from user where age >18
    <![CDATA[ AND regist_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)]]>
    

      

        AND om.create_time &lt;= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)
    <![CDATA[ AND om.create_time <= date_sub(DATE_FORMAT(#{endTime}, 'YYYY-mm-dd'),interval -1 day)]]>
     
    date_sub(param1, param2);  param1代表时间,param2代表要减去的天数, 这里传个-1,则表示要减去-1,就表示+1
  • 相关阅读:
    在vue项目中stylus的安装及使用
    如何在vue中全局引入stylus文件的公共变量
    d3.js在vue项目中的安装及案例
    cytoscape.js在vue项目中的安装及案例
    vue路由router的三种传参方式
    vue项目警告There are multiple modules with names that only differ in casing
    vue+iview实现一行平均五列布局
    JVM 内存对象管理
    JVM 垃圾回收机制
    面试随笔-01
  • 原文地址:https://www.cnblogs.com/coisini/p/9700074.html
Copyright © 2020-2023  润新知