【if test=takeWay == '0'】mybatis的if判断有坑
昨天码代码,掉到坑里,耽误了几个小时才从坑里爬出来-_-|||
单个的字符要写到双引号里面才行,改为<if test='takeWay == "1"'>
或者改为<if test="takeWay == '1'.toString() ">
.xml文件的部分代码
<insert id="insertDelivery" parameterType="com.zuci.request.DeliveryPreferenceReq" >insert cx_customer_deliverypreference<trim prefix="(" suffix=")" suffixOverrides="," >.... 此处省略<if test="takeWay == '1' and workday != null ">WORKDAY,</if>....</trim><trim prefix="values (" suffix=")" suffixOverrides="," >.... 此处省略<if test="takeWay == '1' and workday != null ">#{workday, jdbcType=VARCHAR},</if>....</trim> </insert>
takeWay == “1”处出错,导致不执行if判断中的sql,运行程序不报错,没有任何提示。去掉takeWay == “1” and 则可执行。对此我百思不得其解,
因为自己有写过如下代码,是没错的。
<if test="messageType == 'senderReceiveSuccess' ">......</if>
苦苦纠结了几个小时,最后是我的同事JW大神帮我解决的,膜拜大神o(≧v≦)o~~好棒
把<if test="takeWay == '1' and workday != null ">
改为<if test='takeWay == "1" and workday != null '>
或改为<if test="takeWay == '1'.toString() and workday != null ">
即可。
原因是:mybatis是用OGNL表达式来解析的,在OGNL的表达式中,’1’会被解析成字符,java是强类型的,char 和 一个string 会导致不等,所以if标签中的sql不会被解析。
总结下使用方法:单个的字符要写到双引号里面或者使用.toString()才行!
【if test=takeWay == '0'】mybatis的if判断有坑相关推荐
- 【mybatis】IF判断的坑 (实现if test= status == 'zhangsan')
转自:http://blog.csdn.net/z69183787/article/details/51589171 最近在项目使用mybatis中碰到个问题 Xml代码 <if test= ...
- mybatis 中 if-test 判断详解
<if test="takeWay == '0'">]mybatis的if判断 单个的字符要写到双引号里面才行,改为<if test='takeWay == &q ...
- mybatis使用if判断参数是否为空
1.判断Double类型:<if test="probability != null">probability = #{probability},</if> ...
- mybatis if条件判断
一.字符串(string)非空判断 <if test="name!=null and name!=''"> AND name = #{name} </if> ...
- MyBatis list Contains MyBatis 动态SQL 判断List Contains
MyBatis list Contains MyBatis 动态SQL 判断List Contains 一.情景描述 在使用MyBatis 动态SQL查询时,有时候需要判断集合中是否有某个元素,若存在 ...
- mybatis的if判断用法
mybatis的if判断语句其实跟el表达式的if条件判断有些类似. 例如: 1 如果参数为数字类型的时候没有特俗需求的情况只需要判断是否为null即可. 例如: 如果有特俗需求,例如判断是否大于某个 ...
- Mybatis的逆向工程,MySQL8的数据库,8.0.11驱动的逆向工程的坑的解决方法
Mybatis的逆向工程,MySQL8的数据库,8.0.11驱动的逆向工程的坑的解决方法 参考文章: (1)Mybatis的逆向工程,MySQL8的数据库,8.0.11驱动的逆向工程的坑的解决方法 ( ...
- 【mybatis】mybatis if 标签判断字符串相等
mybatis if 标签判断字符串相等 mybatis 映射文件中,if 标签判断字符串相等,两种方式: 因为 mybatis 映射文件,是使用的 ognl 表达式,所以在判断字符串 sex 变量是 ...
- spring Mybatis注解加判断
spring Mybatis注解加判断 spring Mybatis注解加判断 一.用script标签包围,然后像xml语法一样书写 判断参数是否为空或者为null,没有参数则不执行该语句 @Sele ...
最新文章
- 7.Deque的应用案例-回文检查
- “chaos”的算法---之哈希表(HASH)算法详解
- 2018寒假学习计划
- 人工大脑项目 —— Nengo
- 怎样去掉桌面图标和字的蓝色阴影
- [转] 硬盘工具DiskMan使用图解
- JS 异步编程及常考面试题
- ECMAScript6 ES6语法
- Android控制WIFI相关操作
- Java使用easyexcel读大文件
- 使用OpenCV-python实现手写数字识别
- 公司更换了静态IP,说可以监控上网行为,真的可以做到吗?
- 估计理论(7):应用BLUE的两个例子
- android studio for android learning (十四) android的数据的存储sharedPreferences
- eNSP------三层交换机配置(拓扑图+命令)
- 【3dmax千千问】初学3dmax插件神器第17课|VRAY渲染教程|哪三种表现方式最能影响3dmax疯狂模渲大师设计效果图的写实程度?食住玩3dmax入门到精通进阶教程
- redigo批量lpush/rpush、批量zrem
- 大数据与人工智能学习心得_大数据与R
- 网页特效--图片淡入淡出效果
- oracle创建数据库的先决条件,Oracle数据库安装先决条件检查失败解决方案
热门文章
- el-checkbox点击后面的内容不选中复选框
- 谐波均值滤波matlab,谐波均值滤波器.PPT
- 小型企业的网络拓扑结构设计
- 没有电池没有芯片,这些塑料瓶子正在联网
- vue网页预加载页面_页面预加载效果
- 微信小程序怎么打通视频号?只差一个自定义版交易组件
- 华为鸿蒙系统动画过滤,华为鸿蒙系统细节曝光 UI重绘动画多/系统简介更流畅...
- 皮肤病,得了慢性荨麻疹怎么办?
- 事故频发,特斯拉还要“补课”
- 【解决方案】国标GB28181协议摄像头直播EasyGBS视频平台联合城管执法局搭建4G移动视频监控系统方案