开发踩坑-mapper.xml中字符串类型的==

简介: 关于mapper.xml中判断字符串类型的变量的==

使用SSM作为java的开发框架,总少不了在xxMapper.xml手写sql,那么也就少不了、标签的书写


1. 字符串类型的判断

1.1 惯用写法

<iftest="userType != null and userType != ''">  and user_type = #{userType}
</if>

长久以来,对于变量的判断,大家都养成了上面的习惯

实际上,这种写法对于字符串类型的userType没有任何问题

1.2 字符串类型的值判断

下面是在开发的过程中的一种错误写法

<iftest="userType != null userType == '1'">  and use_type = #{userType}
</if>

那么解决方案是以下

  1. 将单引号放在最外面,将双引号作为字符串的值判断
<iftest='userType != null userType == "1"'>  and use_type = #{userType}
</if>
  1. 使用对象的toString()方法
<iftest="userType != null userType == '1'.toString()">  and use_type = #{userType}
</if>

2. number类型判断

若果userType是数字类型的话,当userType=0时就不能进入if条件的判断

所以此时只需要判断不等于null即可,或者userType!=0

<iftest="userType != null">  and user_type = #{userType}
</if>



在看过mybatis的源码之后,再进行更文,有理有据,对这些不能使用的写法来进行解释

目录
相关文章
|
2天前
|
XML 数据格式
XML Schema 复杂元素类型详解:定义及示例解析
在XML Schema(XSD)中,复杂元素包含其他元素和/或属性,分为4类:空元素、仅含元素、仅含文本和既含元素也含文本。定义复杂元素可通过直接声明或引用预定义的复杂类型。复杂空元素仅含属性,而仅含元素的类型则只包含其他子元素。XSD提供了`&lt;xs:sequence&gt;`、`&lt;xs:all&gt;`、`&lt;xs:choice&gt;`等指示器来规定元素顺序和出现次数,以及`&lt;xs:attributeGroup&gt;`和`&lt;xs:group&gt;`来组织元素和属性。
132 7
|
5天前
|
XML 数据格式
加载 XML 字符串
这段代码展示如何在不同浏览器中加载和解析XML字符串。对于非IE浏览器,它使用DOMParser创建一个新的解析器对象,然后调用parseFromString方法。而在IE中,则通过ActiveXObject创建“Microsoft.XMLDOM”对象,使用loadXML方法进行解析。注意,IE的async属性设为false以同步加载。
|
5天前
|
XML 数据格式
加载 XML 字符串
这段代码展示如何在不同浏览器中加载和解析XML字符串。对于非IE浏览器,它使用DOMParser创建一个新的解析器实例,然后调用parseFromString方法。在IE中,它创建一个ActiveXObject,使用loadXML方法进行解析。注意,IE设置async为false以同步加载。
|
5天前
|
XML 存储 数据格式
探索 DTD 在 XML 中的作用及解析:深入理解文档类型定义
DTD(文档类型定义)用于定义XML文档的结构和合法元素、属性。它允许不同团体就数据交换标准达成一致,并用于验证XML数据的有效性。DTD可通过内部声明(在XML文档内)或外部声明(在单独文件中)来定义。内部声明示例显示了如何定义`note`元素及其子元素的结构,而外部声明则引用外部DTD文件。元素、属性、实体和PCDATA/CDATA是XML构建模块。DTD中,元素通过ELEMENT声明定义,属性通过ATTLIST声明定义,实体声明提供特殊字符或外部资源的快捷方式。
16 0
|
5天前
|
XML 数据格式 Python
【代码片段】【Python】XML 字符串格式化打印
【代码片段】【Python】XML 字符串格式化打印
18 0
|
5天前
|
XML 存储 BI
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
19 0
|
7月前
|
XML 存储 JavaScript
【JavaSE专栏89】Java字符串和XML数据结构的转换,高效灵活转变数据
【JavaSE专栏89】Java字符串和XML数据结构的转换,高效灵活转变数据
|
5天前
|
XML JavaScript API
框架选修课之dom4j解析xml字符串实例
框架选修课之dom4j解析xml字符串实例
53 1
|
9月前
|
XML 数据格式
把字符串写入xml中
把字符串写入xml中
53 0
|
11月前
|
XML 开发框架 算法
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
【C#本质论 十一】合式类型(二)程序集引用、XML注释、垃圾回收和资源清理
102 0