美文网首页
mybatis中的作用

mybatis中的作用

作者: lclandld | 来源:发表于2021-03-10 15:43 被阅读0次

今儿在修改一个时间区间检索的问题的时候,看到了<![CDATA[]]>,以前也看到过,但是不知道是什么意思,今儿就度娘了下,进行一个自我的记录

解决的具体问题

在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。

<![CDATA[ ]]> 是什么

  • 这是XML语法。在CDATA内部的所有内容都会被解析器忽略。
  • CDATA 全名:character data。所有 XML 文档中的文本均会被解析器解析,除了 CDATA 区段(CDATA section)中的文本会被解析器忽略。

CDATA的形式如下: <![CDATA[文本内容]]> 。
CDATA的文本内容中不能出现字符串“]]>”。另外,CDATA不能嵌套。
CDATA区域是由“<![CDATA["为开始标记,以“]]>”为结束标记,注意CDATA为大写。

我要修改的代码如下

    <select id="getDetailsByPage" resultMap="StudyLineVOMap">
        select
        csl.id,
        csl.NAME,
        csl.cover,
        csl.remark,
        csl.published,
        csl.deleted,
        csl.publish_time,
        csl.create_time,
        csl.days,
        csl.tenant_id ,
        count( DISTINCT ( ctt.id ) ) AS stepNum,
        count( DISTINCT(csstc.id) ) AS courseNum,
        count( DISTINCT ( crtsl.id ) ) AS resourcesNum,
        count( DISTINCT ( cptsl.id ) ) AS paperNum
        from ccr_study_line csl
        LEFT JOIN ccr_study_step ctt ON ctt.study_line_id = csl.id
        left join ccr_study_step_to_course csstc on csstc.study_step_id = ctt.id
        LEFT JOIN ccr_resource_to_study_line crtsl on crtsl.study_line_id = csl.id
        left join ccr_paper_to_study_line cptsl on cptsl.study_line_id = csl.id
        where csl.deleted = 0 and csl.tenant_id = #{condition.tenantId}
        <if test="condition.lineName != null">
            and csl.name like concat ('%',#{condition.lineName},'%')
        </if>
        <if test="condition.startTime != null">
            and DATE_FORMAT(csl.publish_time,'%Y-%m-%d') <![CDATA[>=]]> #{condition.startTime}
        </if>
        <if test="condition.endTime != null">
            and DATE_FORMAT(csl.publish_time,'%Y-%m-%d')  <![CDATA[<=]]> #{condition.endTime}
        </if>
        <if test="condition.published != null">
            and csl.published = #{condition.published}
        </if>
        GROUP BY csl.id
        order by csl.published , csl.publish_time desc, csl.create_time desc
    </select>

相关文章

  • Mybatis中的作用

    在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件...

  • mybatis中的作用

    今儿在修改一个时间区间检索的问题的时候,看到了,以前也看到过,但是不知道是什么意思,今儿就...

  • MyBatis中CDATA的作用

    1、简介 在XML文档的解析过程中,首先查找元素的起始符,即字符"<"和字符"&"。字符"...

  • MyBatis SQL 符号

    兼容: 或者 mybatis : trim标签, “等于==”经验, CDATA...

  • mybatis学习笔记

    mybatis学习笔记 简介 入门 XML配置 XML 项目相关笔记 在使用myb...

  • mybatis 09 转义与批量操作

    转义使用mybatis的时候,特殊字符,例如<,>,<>,.....需使用以下进行转义 使用CDATA部件

  • mybatis CDATA标签用法

    xml解析不了<= 或 >=,CDATA包裹可以通过解析 上文中begintime参数格式在下面图片中

  • mybatis 使用 转义

    一、转义方法介绍 第一种方法:用了转义字符把>和<替换掉,然后就没有问题了。例如: SELECT * FROM t...

  • mybatis 中的<![CDATA[ ]]>标签用

    最近在看博客时,发现有人使用了这样一个标签包住Mapper中的sql语句,不清除是什么意...

  • xml相关

    18.6.15XML CDATA所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA s...

网友评论

      本文标题:mybatis中的作用

      本文链接:https://www.haomeiwen.com/subject/lmjwqltx.html