分享

项目开发过程中,以前每次一遇到这种情况,我都记不住,现在终于记住了

 爱开发 2022-08-02 发布于广东

对于MyBatis框架 ,对于从事java开发的应该并不陌生,MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

使用起来特别方便,尤其是那些查询需要拼接T-sql,用MyBatis特别方便快捷。

不知你在使用MyBatis 时有没有遇到类似情况,写好了一条T-sql,结果因为这条T-sql有不等于相关字符,放在mapper.xml就会报语法错误

譬如

select * from t_order  where create_time >= '2020-12-01';

mybatis就会报语法错误,<>特殊字符需要转义

之前一遇到这种情况,我都记不住,总得翻看下文档,现在终于记住了。

那么mybatis在mapper.xml中怎么处理大于、小于、不等于号

使用转义字符

例如:sql如下:

<if test="beginTime!= null">    and create_time >= '${beginTime}'</if><if test="endTime != null">    and create_time <= '${endTime }'</if>

另一种做法:

可以使用<![CDATA[  ]]> 包起来

因为xml格式遇到这种格式会把方括号里的内容原样输出,不进行解析,如:

大于等于   

 <![CDATA[ >= ]]>

小于等于    

 <![CDATA[ <= ]]>

例如:sql语法如下:

<if test="beginTime!= null">    <![CDATA[ and create_time >= '${beginTime}' ]]></if><if test="endTime != null">    <![CDATA[ and create_time <= '${endTime }' ]]></if>
作者:洪生鹏 , 微信公众号: 爱开发,偶尔分享点创业资源,偶尔分享点生活感悟。私人微信号 : hsp-88ios

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多