欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2021-09-19 07:52:59|栏目:JAVA代码|点击:

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定义的值就可以了:

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

上一篇:MyBatis使用注解开发和无主配置文件开发的情况

栏    目:JAVA代码

下一篇:详解JAVA中static的作用

本文标题:mybatis test标签如何判断值是否相等

本文地址:http://www.codeinn.net/misctech/176020.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有