欢迎来到代码驿站!

JAVA代码

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

mybatis动态SQL if的test写法及规则详解

时间:2022-07-16 09:40:42|栏目:JAVA代码|点击:

mybatis动态SQL if的test写法

使用动态SQL最常见情景

是根据条件包含 where 子句的一部分。

比如:

<select id="findActiveBlogWithTitleLike"
     resultType="Blog">
  SELECT * FROM BLOG
  WHERE state = ‘ACTIVE'
  <if test="title != null">
    AND title like #{title}
  </if>
</select>

其中 test 的表达式是基于OGNL 的表达式,语法规则也是OGNL的语法规则。

官方语法规则手册

OGNL官方表达式手册:https://commons.apache.org/proper/commons-ognl/language-guide.html

举个例子

在这里插入图片描述

上图是官方指导的一部分,主要说明了,在test中无法使用<= 等符号可以使用 lte 代替。

运算符 代替字符
< lt
<= lte
> gt
>= gte

mybatis if test动态sql语句

<select id="getStudentId" parameterType="java.lang.String" resultType="java.lang.String">
        SELECT MAX(Student_ID) FROM Student
        <where>
            <if test="classid !=null and classid !=''">  
                AND CLASS_ID = {student.classID} 
            </if>
            <if test="age ==null or age ==''">  
                AND AGE = {student.age}
            </if>
        </where>
</select>

上一篇:Java使用RedisTemplate模糊删除key操作

栏    目:JAVA代码

下一篇:Java实现驼峰和下划线互相转换的示例代码

本文标题:mybatis动态SQL if的test写法及规则详解

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

推荐教程

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

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

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

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

Copyright © 2020 代码驿站 版权所有