mybatis动态SQL
- 使用动态SQL完成多条件查询
If |
利用if实现简单的条件选择 |
Choose(when ,otherwise) |
相当于java中的switch |
When |
简化SQL语句中where的条件判断 |
Set |
解决动态更新语句 |
Trim |
可以灵活的去除多余的关键字 |
Foreach |
迭代一个集合,通常用于in条件 |
1.1使用if+where完成多条件查询:
Why:在映射文件中直接编写sql语句,在特定情况下(如部分参数没有给值)会引发潜在的异常或错误,或者与需求不符,代码的健壮性不足。
代码案例:
If的使用:
If+where的使用
1.2使用if+trim实现多条件查询
1.3使用if+set进行更新操作
Why:不使用set进行更新,最容易出现的问题是当指定字段没有赋值,就会给null值,与实际需求不符。
代码如下:按照给定的参数进行修改,没有赋值的就不修改,符合题目要求
-
- 使用if+trim完成修改操作
代码如下:
1.5 choose的使用:表示在多个条件中,每次只会选择执行一个条件语句的拼接,不会拼接多个。
代码如下: