首页 > 其他分享 >mybatis 之 if test 条件查询,参数为0时,查询出所有结果

mybatis 之 if test 条件查询,参数为0时,查询出所有结果

时间:2023-05-17 16:33:24浏览次数:34  
标签:数字 exeStatus mybatis 字符串 test 查询

一、工作问题:

在工作中发现 使用MyBatis 时 在boolean 如果传值为 0时 ,并没有按照"0"进行筛选选,而是查出了所有的数据。

"<if test='exeStatus!=null and exeStatus!=" "'>",
 
" and exe_status=#{exeStatus}",
 
"</if>",

二、mybatis源码:

首先获取两个判断对象的类型,当拿一个字符串和一个数字判断的时候,

当Mybatis发现,这个字符串是可以转换成数字的,那么就会把这个字符串转成数字,然后再和这个数字判断。

return s.length() 0 ? 0.0D : Double.parseDouble(s)

三、解决:

直接删除 and exeStatus!=\"\"  即可

"<if test='exeStatus!=null '>",
 
" and exe_status=#{exeStatus}",
 
"</if>",

  

标签:数字,exeStatus,mybatis,字符串,test,查询
From: https://www.cnblogs.com/jasonBin/p/17409209.html

相关文章

  • DQL语句(三)------- 多表查询
    9、多表查询9.1多表连接select*fromemp,dept;--直接两张表之间加逗号就会全连接如果没有任何条件去连接两张表,那么会产生一张很大的表,两张表记录相乘条记录设置条件用点.比如:emp.deptno=dept.deptno(员工表中deptno=部门表中的deptno)自然连接(naturalj......
  • ShardingSphere + Pagehelper 组合sql查询中包含 DISTINCT GROUP BY 等关键字和聚合函
    Pagehelper中配置说明params:为了支持startPage(Objectparams)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值,可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值,默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;r......
  • DQL语句(一) -----简单select查询
    DQL语句1、格式select列名*Nfrom表名where查询条件1and/or查询条件2groupby列Having分组条件Orderby排序2、规则sql在书写时除了查询条件外,大小写都可以select*fromuserwhereuname='zs';SELECT*FROMUSERWHEREUNAME='zs';要是在公司要看其他......
  • 通过数组查询最大值
    #include<iostream>intmain(){floatarr[10];inti;floatmax;intmaxindex;for(i=0;i<=9;i++){scanf_s("%f/n",&arr[i]);}max=arr[0];for(i=1;i,10;i++){if(max<ar......
  • 【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案
    ​问题介绍    经常逛github找优秀的.NET项目看,看到github上的项目的层级有srctest,sln放在外层。如下图: 发现自己再VisaulStudio新建的项目即使添加了src和test,然后基于文件夹下新建项目,物理路径上也不是这样的结构。如图 物理路径下依然和sln是平级状态。解......
  • SqlServer查询存储过程和视图是否用到表字段
     查询存储过程视图是否用到表和字段selectnamefromsysobjectsassinnerjoinsyscommentsasoons.id=o.idwheretextlikeN'%表名%字段名%'--查询表字段SELECTOBJECT_NAME(object_id)'表名',nameAS'列名称'FROMsys.columns......
  • AtCoder Beginner Contest 200 F Minflip Summation
    洛谷传送门AtCoder传送门显然的策略:选择全部\(0\)段变成\(1\),或选择全部\(1\)段变成\(0\)。归纳可得一般性的结论:设字符串中\(s_i\nes_{i+1}\)的位置数为\(k\),答案为\(\left\lceil\frac{k}{2}\right\rceil\)。因为在模意义下不能上取整,考虑记\(k\)的奇偶性(这样......
  • nodepad++ 用正则查询 替换
    下面来介绍Notepad++中关于正则表达式的部分,主要是查找和替换。对于替换功能,一般的文本编辑器,都具有此功能,但是对于高级的正则表达式替换,则很多都不支持。而Notepad++却支持此功能。例如,我从mysql数据库通过navicat获取到296条的INSERT语句,状其它的id字段及值去掉1id字......
  • 老杜MyBatis框架从入门到精通(一)MyBatis概述
    mybatis做为目前国内最为流行的开源orm框架,我们平时在使用时会感受到其带来的诸多便利,但是很少去深入分析,mybatis源码代码量不多,功能丰富,是一个很好的学习样例,本系列文章就和大家一起来学习mybatis框架本系列笔记根据动力节点B站上老杜讲的mybatis教程整理~学习地址:https://www......
  • How to use pip3 install the latest version package All In One
    Howtousepip3installthelatestversionpackageAllInOne如何使用pip3安装最新版本包PIP$python-mpipinstall[options]<requirementspecifier>[package-index-options]...$python-mpipinstall[options]-r<requirementsfile>[package-index-o......