关于MyBatis动态<if>标签的使用介绍

本文详细介绍了MyBatis动态标签的使用,包括如何判断字符串和数字,提供了正确和错误的示例,强调了在比较规则中的注意事项,避免在开发中出现错误。
摘要由CSDN通过智能技术生成

本文主要介绍了MyBatis动态<if>标签的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。

前言

MyBatis中的<if>动态SQL标签,常用场景是根据条件添加WHERE子句。本篇文章将对<if>动态SQL标签使用中的常见问题进行演示和总结。

演示的场景有:if判断字符串if判断数字

MyBatis版本:3.5.6

正文

一. if标签判断字符串

查询参数Param如下。

1

2

3

4

5

6

7

public class Param {

    private int id;

    private String level;

    private int times;

    private String timestamp;

    // 省略get和set

}

语句如下。

1

2

3

4

5

6

7

8

9

10

11

12

<select id="queryEvents" resultMap="eventResultMap">

    SELECT

        id,

        e_name,

        e_times,

        e_level

    FROM event

    WHERE id=#{id}

    <if test="level != null and level != ''">

        AND e_level=#{level}

    </if>

</select>

上述是判断字符串是否为空(null或者空串),不为空时,为WHERE子句添加额外的条件。

通过<if>标签判断字符串是否为空,是<if>标签使用频率最高的用法,但是有时也会通过<if>标签来判断字符串的值,这里有多种写法,下面给出正确写法推荐写法错误写法

正确写法1

1

2

3

4

5

6

7

8

9

10

11

12

<select id="queryEvents" resultMap="eventResultMap">

    SELECT

        id,

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值