MyBatis中的大于等于、小于等于写法
在 MyBatis 的 XML 映射文件中,由于 XML 语法的限制,不能直接使用 < 和 > 符号(会被解析为 XML 标签),需要使用转义字符或 CDATA 块来表示大于等于(≥)和小于等于(≤)。
以下是常用的写法:
1. 使用转义字符(推荐)
xml
<!-- 大于等于:≥ -->
<if test="startTime != null">
AND create_time >= #{startTime}
</if>
<!-- 小于等于:≤ -->
<if test="endTime != null">
AND create_time <= #{endTime}
</if>对应的转义字符对照表:
>表示>(大于)<表示<(小于)>=表示>=(大于等于)<=表示<=(小于等于)
2. 使用 CDATA 块
如果觉得转义字符可读性差,可以用 CDATA 块包裹包含特殊符号的 SQL 片段:
xml
<if test="startTime != null">
<![CDATA[ AND create_time >= #{startTime} ]]>
</if>
<if test="endTime != null">
<![CDATA[ AND create_time <= #{endTime} ]]>
</if>CDATA 块中的内容会被 MyBatis 原样解析,不进行 XML 语法检查。
注意事项
- 在注解方式的 SQL 中(如
@Select),可以直接使用>=和<=,无需转义 - 动态 SQL 中使用时,注意结合
<if>标签做非空判断,避免出现null值导致的 SQL 错误
两种方式效果相同,根据团队编码规范选择即可,转义字符方式在多数项目中更常见。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解析Java的InputStream类并借助其读取ppt文件
这篇文章主要介绍了Java的InputStream类并借助其读取ppt文件,讲到了InputStream类中一些常用的方法的问题,需要的朋友可以参考下2015-11-11
SpringBoot集成Redisson操作Redis的实现方法
Redisson是一个用于Java的Redis客户端,它提供了在分布式环境下操作Redis数据库的简单、高效的方式,本文主要介绍了SpringBoot集成Redisson操作Redis的实现方法,具有一定的参考价值,感兴趣的可以了解一下2024-03-03
Springboot整合spring-boot-starter-data-elasticsearch的过程
本文详细介绍了Springboot整合spring-boot-starter-data-elasticsearch的过程,包括版本要求、依赖添加、实体类添加、索引的名称、分片、副本设置等,同时,还介绍了如何使用ElasticsearchRepository类进行增删改查操作2024-10-10
SpringBoot @PathVariable使用时遇到的问题及解决
这篇文章主要介绍了SpringBoot @PathVariable使用时遇到的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
Spring Boot Web应用开发 CORS 跨域请求支持
本篇文章主要介绍了Spring Boot Web应用开发 CORS 跨域请求支持,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-05-05


最新评论