mapper xml中 <和>的写法

目录

说明

一些符号在xml中有其特殊的含义,如果不加以区分,机器在解析的时候就会产生歧义,导致无法解析报错,因此在mybatis的mapper xml文件中写sql语句的时候 <和>要作特殊处理。

写法

  1. 第一种:XML转义字符
符号 在xml中的写法 英文含义
< &lt; less than
<= &lt;= less than equal
> &gt; greater than
> &gt;= greater than equal

用了转义字符把 > 和 < 替换掉,机器就能正常识别了。

例如:

xml 复制代码
SELECT
	substring_index( substring_index( u.role_ids, ',', s.id + 1 ), ',',- 1 ) AS role_id 
FROM
	test_user u
	CROSS JOIN auto_add_seq s ON s.id &lt;= LENGTH( u.role_ids ) - LENGTH(
REPLACE ( u.role_ids, ',', '' )) 
WHERE
	u.user_id = 2;
  1. 第二种:<![CDATA[ sql语句 ]]>语法

可以使用<![CDATA[sql语句]]>符号进行说明,告诉解析器其中的 "sql语句"部分不进行解析,按原样输出即可。

例如:

xml 复制代码
<![CDATA[ SELECT substring_index(substring_index(u.role_ids,',',s.id + 1),',' ,-1) AS role_id
FROM test_user u CROSS JOIN auto_add_seq s ON s.id <= LENGTH(u.role_ids) - LENGTH(REPLACE(u.role_ids,',',''))
WHERE u.user_id = 2
 ]]
相关推荐
前网易架构师-高司机4 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
莫寒清4 天前
Mybatis的插件原理
面试·mybatis
逍遥德4 天前
Maven教程.01- settings.xml 文件<profile>使用详解
xml·java·maven
莫寒清4 天前
MyBatis 中动态 SQL 的作用
面试·mybatis
吹晚风吧4 天前
实现一个mybatis插件,方便在开发中清楚的看出sql的执行及执行耗时
java·sql·mybatis
码云数智-大飞4 天前
像写 SQL 一样搜索:dbVisitor 如何用 MyBatis 范式颠覆 ElasticSearch 开发
sql·elasticsearch·mybatis
逍遥德4 天前
Maven教程.03-如何阅读pom.xml文件
xml·java·后端·maven
Mr__Miss5 天前
mybatisPlus分页组件3.5.15版本报错解决方案
mybatis
无名-CODING5 天前
MyBatis中#{}和${}完全指南:从原理到实战
mybatis
松叶似针5 天前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos