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

 更新时间:2021年07月08日 16:59:07   作者:PolarisHuster  
这篇文章主要介绍了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定义的值就可以了:

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

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

相关文章

  • 浅谈JDK7和JDK8的区别在哪

    浅谈JDK7和JDK8的区别在哪

    面试总是遇到这个问题,做一个小总结,文中有非常详细的介绍,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • idea项目打开后出现橙色的时钟图标的解决

    idea项目打开后出现橙色的时钟图标的解决

    本文主要介绍了idea项目打开后出现橙色的时钟图标的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Java中POST、GET、@RequestBody和@RequestParam区别详析

    Java中POST、GET、@RequestBody和@RequestParam区别详析

    在前后端传json数据进行交互的时候,同学们会经常用到的两个注解,@RequestBody和@RequestParam主要是用来接收前端传给后端的json数据,下面这篇文章主要给大家介绍了关于Java中POST、GET、@RequestBody和@RequestParam区别的相关资料,需要的朋友可以参考下
    2022-10-10
  • Java从入门到起飞之数组使用详解

    Java从入门到起飞之数组使用详解

    这篇文章主要介绍了Java从入门到起飞之数组使用的相关资料,包括数组的声明、初始化、长度、索引、遍历和默认值等内容,还介绍了Arrays工具类中常用的方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • 教你如何使用Java输出各种形状

    教你如何使用Java输出各种形状

    本文小编将向大家介绍的是如何利用Java输出各种不同的形状,本文一共介绍了七种有趣的形状,感兴趣的小伙伴赶快收藏起来吧
    2021-09-09
  • java中synchronized(同步代码块和同步方法)详解及区别

    java中synchronized(同步代码块和同步方法)详解及区别

    这篇文章主要介绍了 java中synchronized(同步代码块和同步方法)详解及区别的相关资料,需要的朋友可以参考下
    2017-02-02
  • Netty启动流程服务端channel初始化源码分析

    Netty启动流程服务端channel初始化源码分析

    这篇文章主要为大家介绍了Netty启动流程服务端channel初始化源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • Spring集成MongoDB的两种方法实例

    Spring集成MongoDB的两种方法实例

    最近使用到了Spring框架,考虑到数据的格式并非有固定的字段格式,因此考虑到使用MongoDB非关系型数据库存储数据,所以这篇文章主要给大家介绍了Spring集成MongoDB的两种方法,需要的朋友可以参考下
    2021-09-09
  • java接口类中的@selectProvider接口的使用及说明

    java接口类中的@selectProvider接口的使用及说明

    这篇文章主要介绍了java接口类中的@selectProvider接口的使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Mybatis-Plus通过SQL注入器实现批量插入的实践

    Mybatis-Plus通过SQL注入器实现批量插入的实践

    本文主要介绍了Mybatis-Plus通过SQL注入器实现批量插入的实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论