mybatis 传参为 Integer 时 ,Mapper 文件 中判断 条件 问题。
<if test="valiStatus==null || valiStatus=='' || valiStatus==4 ">
b.work_permit_card_cert is not null and b.work_permit_card_cert!=1 and b.delete_flag =0
</if>
<if test="valiStatus==0">
u.user_type = 0 and b.work_permit_card_cert = 0 and b.delete_flag =0
</if>
<if test="valiStatus==2">
u.user_type=1 and b.work_permit_card_cert=2 and b.delete_flag =0
</if>
其中viliStauts 是一个 Integer 型的参数 , 如果 传入 4 和2 是可以正确的执行 if 条件的 。。
但是如果传入0 的话 , 就会出现 前两个 if 条件都判断正确的情况,导致sql 错误。
解决办法是不要写valiStatus=='' 的判断,(以后要注意类型问题,Integer 就不要判断 ==''了)
其他知识点: like concat('%'+#{a} + '%');
并且 : 使用 and
mybatis 传参为 Integer 时 ,Mapper 文件 中判断 条件 问题。的更多相关文章
- MyBatis mapper文件中的变量引用方式#{}与${}的差别
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...
- ][mybatis]MyBatis mapper文件中的变量引用方式#{}与${}的差别
转自https://blog.csdn.net/szwangdf/article/details/26714603 MyBatis mapper文件中的变量引用方式#{}与${}的差别 默认情况下,使 ...
- MyBatis mapper文件中使用常量
MyBatis mapper文件中使用常量 Java 开发中会经常写一些静态常量和静态方法,但是我们在写sql语句的时候会经常用到判断是否等于 //静态类 public class CommonCod ...
- Mybatis-Generator生成Mapper文件中<if test="criteria.valid">的问题解答
写在前面 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去 ...
- 将url传参的中文字符在页面中显示正常
//将url传参的中文字符在页面中显示正常var url=decodeURI(url);
- urlencode($url):把url转义,当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符串的
1.对url进行编码转义
- Mybatis的mapper文件中$和#的区别
一般来说,我们使用mybatis generator来生成mapper.xml文件时,会生成一些增删改查的文件,这些文件中需要传入一些参数,传参数的时候,我们会注意到,参数的大括号外面,有两种符号,一 ...
- 问题小记(MyBatis传参出现的小问题)
问题一:在MyBatis中注解@Param和ParameterType不能一起用,会报错Parameter 'XXX' not found. Available parameters are [1, ...
- mybatis逆向工程的注意事项:mapper文件内容不是覆盖而是追加
XXXMapper.xml文件已经存在时,如果进行重新生成则mapper.xml文件内容不被覆盖而是进行内容追加,结果导致mybatis解析失败. 解决方法:删除原来已经生成的mapper xml文件 ...
随机推荐
- js url转码
JS中对URL进行转码与解码 1. escape 和 unescape escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值. 采用unicode字符集对指定的 ...
- JAVA JDBC 简单的增删改查
package jdbc_util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepar ...
- Procedure-Function mysql
1.基本用法 drop PROCEDURE if EXISTS sp1; -- 如果存在sp1存储过程则删除掉 create PROCEDURE sp1() SELECT 1; --创建最简单的存储过 ...
- ABAP-面向对象的开发
转载:https://blog.csdn.net/zhongguomao/article/details/70266246 在程序中, 对象的识别和寻址是通过对象引用来实现的,对象引用变量可以访问对象 ...
- 低版本eclipse离线集成svn步骤,亲测有效!!!
1.下载svn离线版的插件: 百度云盘链接:http://pan.baidu.com/s/1eSnMoHO 密码:6oef 2.解压出来的额目录如下: 3.将features和plugins里面的ja ...
- vector实现(只能装入string)
#include<iostream> #include<string> #include<memory> #include<utility> using ...
- 第一个struct2程序(2)
第三步 需要使用ActionForm了.在Struts1.x中,必须要单独建立一个ActionForm类(或是定义一个动作Form),而在Struts2中ActionForm和Action已经二合一了 ...
- 吴裕雄 python 数据处理(1)
import time print(time.time())print(time.localtime())print(time.strftime('%Y-%m-%d %X',time.localtim ...
- django中怎么使用mysql数据库的事务
Mysql数据库事务: 在进行后端业务开始操作修改数据库时,可能会涉及到多张表的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起失败. Django中对于数据库的事务,默认每执行 ...
- python中'+'和'+='的区别(转)
原文:python - If x is list, why does x += “ha” work, while x = x + “ha” throw an exception? 译文:在 pytho ...