mybatis动态sql,条件判断详解示例

  • 5、Trim标签

  • 6、Foreach标签

  • 7、Bind标签

  • 8、sql

| | |

| — | — |

1、if

===================================================================

在这里插入图片描述if其中test属性使用的得就是ognl表达式,他在获取字段得时候,可以直接获取,不用编写#{}

2、where

======================================================================

在这里插入图片描述

where标签,之前在拼接条件查询的字符,会通过where 1=1进行 无条件查询。那么通过这个标签,会自动在sql后面添加where关键字进行拼接,并自动忽略 第一个and

3、Choose标签

=========================================================================

这个标签相当于if。。else if

在这里插入图片描述

4、Set 标签

=======================================================================

这个标签主要用于修改

举例:

编写接口

在这里插入图片描述

之前我们在进行数据修改的时候,我们到最后无论改不改动,都会自动提交,那么效率相当于在做无用功

那么我们就需要对像中的每个字段进行调用

在这里插入图片描述

但这总编写的有一个错误,那就是如果我们只改了某一个值得话,那么另一个值虽然不会拼接,但是第一个条件语句有一个‘,’

但是又不能没有,所以无法避免这种情况

这个时候就可以使用set关键字了

在这里插入图片描述

在这里插入图片描述

这样就很好得解决问题

5、Trim标签

=======================================================================

在这里插入图片描述

在这里插入图片描述

6、Foreach标签

==========================================================================

需求:

当想要获得多个id得数据,sql应该是:

在这里插入图片描述

那我们 正常在程序中应该写

在这里插入图片描述

正常sql写法

在这里插入图片描述但是我们想要操作,就需要用到forEach

其实我们在进行操作得时候,使用List,还有Array,都是存储在map中得,在这里插入图片描述使用标签进行遍历

在这里插入图片描述在这里插入图片描述

7、Bind标签

=======================================================================

Bind标签主要用于模糊查询

模糊查询主要友两种方法,第一种是通过百分号,另一种是通过coucat

在这里插入图片描述

你可能感兴趣的:(mybatis,sql,数据库)