mybatis动态SQL

  1. 使用动态SQL完成多条件查询

If

利用if实现简单的条件选择

Choose(when ,otherwise)

相当于java中的switch

When

简化SQL语句中where的条件判断

Set

解决动态更新语句

Trim

可以灵活的去除多余的关键字

Foreach

迭代一个集合,通常用于in条件

 

1.1使用if+where完成多条件查询:

Why:在映射文件中直接编写sql语句,在特定情况下(如部分参数没有给值)会引发潜在的异常或错误,或者与需求不符,代码的健壮性不足。

代码案例:

If的使用:mybatis动态SQL

If+where的使用

mybatis动态SQL

1.2使用if+trim实现多条件查询

mybatis动态SQL

1.3使用if+set进行更新操作

Why:不使用set进行更新,最容易出现的问题是当指定字段没有赋值,就会给null值,与实际需求不符。

代码如下:按照给定的参数进行修改,没有赋值的就不修改,符合题目要求

mybatis动态SQL

    1. 使用if+trim完成修改操作

代码如下:

mybatis动态SQL

1.5 choose的使用:表示在多个条件中,每次只会选择执行一个条件语句的拼接,不会拼接多个。

     代码如下:mybatis动态SQL