mybatis中使用if标签比较两个字符串是否相等
<!-- 此处使用if比较是否相等 -->
范例一:
<select id="findClientIds" parameterType="map" resultType="map">
SELECT sys_user.id,sys_user.clientId FROM sys_user
<where>
<if test="grade!= null and grade!= ''and grade == '3'.toString()">
id =(
SELECT PRIMARY_PERSON FROM sys_office WHERE id =
(SELECT office_id FROM sys_user WHERE id = #{userId}
))
</if>
<if test="grade!= null and grade!= '' and grade == '2'.toString()">
id =(
SELECT PRIMARY_PERSON FROM sys_office WHERE id =
(SELECT company_id FROM sys_user WHERE id = #{userId}
))
</if>
<if test="grade!= null and grade!= '' and grade == '1'.toString()">
id = ''
</if>
</where>
</select>
范例二:
mybatis 映射文件中,if标签判断字符串相等,两种方式:
因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候
<if test="sex=='Y'.toString()"> 或者使用下面的写法
<if test = 'sex== "Y"'>
注意:
不能使用
<if test="sex=='Y'">
and =
</if>
因为mybatis会把'Y'解析为字符,java是强类型语言,所以不能这样写。
mybatis中使用if标签比较两个字符串是否相等的更多相关文章
- mybatis 中的where标签
mybatis中的where标签可以去除 开头的 and 或者 or 但是放在后面的不行 失败的: <select id="countNotesByParam" parame ...
- MyBatis中主键回填的两种实现方式
主键回填其实是一个非常常见的需求,特别是在数据添加的过程中,我们经常需要添加完数据之后,需要获取刚刚添加的数据 id,无论是 Jdbc 还是各种各样的数据库框架都对此提供了相关的支持,本文我就来和和大 ...
- mybatis中的一些标签使用
主要有两个配置文件,一个是主配置文件SqlConfig.xml, 还有一个是dao接口实现类相对应的mapper的配置文件 .比如userDao的userDao.xml配置文件. 1.resultTy ...
- java中需要用equals来判断两个字符串值是否相等
在C++中,两个字符串比较的代码可以为: (string1==string2) 但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false Java中必须使用string1.equal ...
- MyBatis 中 sqlmapconfig核心标签typeAliases配置说明
标签说明 在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType.resultType 来设置 sql 语句的输入输出参数,一般参数都是基本的数据类型或封装类型,但都需要声 ...
- MyBatis 中 sqlmapconfig核心标签说明以及配置
文件介绍 对于 MyBatis 最核心的全局配置文件是 sqlmapConfig.xml 文件,其中包含了数据库的连接配置信息.Mapper 映射文件的加载路径.全局参数.类型别名等. 配置项详解 标 ...
- MyBatis中关于SQL标签的用法(重用SQL 代码段)
一. 没用sql标签前的SQL映射代码: <select id="findById" resultType="cn.tedu.mybatis.entity.User ...
- Mybatis中的CDATA标签
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data). 在 XML 元素中,"<" 和 "&& ...
- MyBatis中<if test=" ">标签条件不起作用
问题产生? 今天在做Excel导出的时候,有个判断一个状态的字段,我的这个字段是int类型的,还有两个时间类型,我在判断的时候给的是Long类型的. 在测试的时候发现,不管怎么样都不执行if条件里面的 ...
随机推荐
- android开发第一天
今天可以说是我正式投入android怀抱的第一天吧,按着自己的兴趣,努力地吸取知识.听了程老师的课,也觉得收获很多,毕竟以前都是看着书本或者网页教程来学习,第一次有人这么直接地跟你教授着,说着一些你听 ...
- 使用Identity Server 4建立Authorization Server (1)
预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 本文内容基本完全来自于Identity Server 4官方文档: https://identitys ...
- T9
T9 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission ...
- 2015ACM/ICPC亚洲区沈阳站 B-Bazinga
Bazinga Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- Windows解决anaconda下双python版本安装TensorFlow
首先,就是双版本anaconda的安装: 以前安装好的是python2.7版本,而TensorFlow的安装仅支持3.5版本的.但是自己本来的2.7版本又不想遗弃.所以安装双版本的: 在anacond ...
- Android 开发笔记___switch__开关
default switch <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- bash脚本条件测试总结
一.if语句的结构 分为以下三种:单分支.双分支.多分支 单分支if语句 if CONDITION is True: then 分支 fi 双分支if语句 if CONDITION is True: ...
- HTML学习笔记 cs动画基础(分列效果可用于做瀑布流) 第十五节 (原创) 参考使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- VS2015 使用Xunit来进行单元测试
安装Xunit: Xunit的安装现在不需要插件支持了,直接使用NuGet安装如下两个库即可: PM> Install-Package xunit PM> Install-Package ...
- Hibernate开发文档
hibernate配置 映射约束文件 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3. ...