我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mybatis test标签如何判断值是否相等

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mybatis test标签如何判断值是否相等

mybatis test标签判断值是否相等

mybatis可以很方便生成动态sql,

常用的方式如下:


        <if test="id != null and id !=''">
            and id != #{id}     
        </if>   

但是在实际使用过程中可能会需要对某个输入的值做具体判断,然后根据输入参数的值进行分支处理


<select id="xxxx" parameterType="map" resultMap="BaseResultMap"> 
         。。。。。。。
     <choose>
               <when test="hasAttach.toString() == '1'.toString()">
                   having  attachCount &gt;= #{hasAttach}
               </when>
               <otherwise>
                   having  attachCount = #{hasAttach}
               </otherwise>
           </choose>

鉴于这个mapper查询接口传入的参数为Map<String,Object>类型,如果不进行toString的转换的话默认是对进行进行的对比,因此就无法达到预期的比较字符串的效果。

mybatis if test标签、动态sql问题

之前用#{0}和#{1}虽然值能传到后台但一直不能正确校验,怎么改都无法校验成功。

错误代码:

这是因为:dao层(或mapper层)中没有用@Param(“”)正确传值。

修改后:

mybatis中也把0,1改成@Paran定义的值就可以了:

体验:细节很重要,不可忽略。

做毕设,为这个问题纠结两天,网上没有人提到这一点,耽误很久,以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mybatis test标签如何判断值是否相等

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mybatis test标签怎么判断值是否相等

本篇内容介绍了“mybatis test标签怎么判断值是否相等”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mybatis test标签判断
2023-06-20

oracle如何判断两列值是否相等

在Oracle中,可以使用等号(=)运算符来判断两列的值是否相等。以下是一些示例:1. 使用等号运算符进行比较:```sqlSELECT * FROM 表名 WHERE 列1 = 列2;```2. 使用等号运算符和其他条件进行比较:```s
2023-08-09

java如何判断两个对象的值是否相等

在Java中,要判断两个对象的值是否相等,需要使用对象的equals()方法。equals()方法是Object类的方法,所有的Java对象都继承了该方法。默认情况下,equals()方法比较的是两个对象的引用是否相等,即判断两个对象是否是
2023-08-16

oracle怎么判断两列值是否相等

在Oracle中,可以使用比较操作符(如=)来判断两列的值是否相等。以下是一个示例查询,用于判断两列的值是否相等:SELECT column1, column2FROM table_nameWHERE column1 = column
oracle怎么判断两列值是否相等
2024-04-09

java如何判断对象是否相等

1、equals的作用及与==的区别equals被用来判断两个对象是否相等。equals通常用来比较两个对象的内容是否相等,==用来比较两个对象的地址是否相等。equals方法默认等同于“==”。Object类中的equals方法定义为判断两个对象的地址是否相
java如何判断对象是否相等
2021-10-21

js如何判断小数是否相等

这篇文章主要介绍js如何判断小数是否相等,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!判断小数是否相等function epsEqu(x,y) { return Math.abs(x - y) < Math.pow
2023-06-27

java如何判断两个double是否相等

在Java中,判断两个double是否相等不能直接使用`==`运算符,因为浮点数在计算机中是以二进制形式存储的,存在精度问题。应该使用`Double.compare()`方法或者自定义一个误差范围进行比较。1. 使用`Double.comp
2023-09-22

java如何判断字符串是否相等?

java如何判断字符串是否相等?下面本篇文章就来给大家介绍一下使用java判断字符串是否相等的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。1、java中字符串的比较:==我们经常习惯性的写上if(str1==str2),这种写法在ja
java如何判断字符串是否相等?
2019-10-06

perl如何判断字符串是否相等

在Perl中,你可以使用`eq`运算符来判断两个字符串是否相等。这个运算符返回一个布尔值,如果两个字符串相等则返回`1`,否则返回`0`。下面是一个示例:```perlmy $str1 = "Hello";my $str2 = "Hello
2023-10-07

r语言怎么判断数值是否相等

在R语言中,可以使用`==`运算符来判断两个数值是否相等。例如:a <- 5b <- 5if (a == b) { print("a和b相等")} else { print("a和b不相等")}输出结果为:"a和b相等"。
2023-10-27

es6如何判断两个数组是否相等

这篇“es6如何判断两个数组是否相等”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6如何判断两个数组是否相等”文章吧。步
2023-07-04

java中如何判断字符串是否相等

方法:boolean equals(object obj);测试:首先,随便创建一个有main方法的类然后定义两个值相等的字符串变量a和b,都是“baidu ABC 我”然后就是用boolean equals(object obj); 来判断这两个字符串是否相
java中如何判断字符串是否相等
2020-02-09

php如何判断两个字符串是否相等

这篇文章主要讲解了“php如何判断两个字符串是否相等”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何判断两个字符串是否相等”吧!方法一:使用“==”运算符最常见的方法是使用“==”运
2023-07-05

Python中如何判断两个列表是否相等

Python中如何判断两个列表是否相等,需要具体代码示例在编程中,经常会遇到需要判断两个列表是否相等的情况。Python提供了几种方法来实现这个判断,下面将详细介绍这些方法并给出具体的代码示例。方法一:使用“==”运算符Python中的列表
2023-10-22

Java如何判断两个Long对象是否相等

这篇文章主要介绍“Java如何判断两个Long对象是否相等”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java如何判断两个Long对象是否相等”文章能帮助大家解决问题。抛出问题:Long a =
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录