Mybatis框架-----动态SQL

Mybatis框架-----动态SQL

文章目录

  • 一、动态 SQL
  • 二、if 标签
  • 三、choose、when、otherwise 标签
  • 四、where 标签
  • 五、bind 标签
  • 六、set 标签
  • 七、foreach 标签
  • 八、每日一夸

姓名:洋葱爱代码
喜欢:Java编程
重要的事情说三遍!!!
欢迎大家来访问哦,互相学习
欢迎大家来访问哦,互相学习
欢迎大家来访问哦,互相学习

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

合抱之木,生于毫末;百丈之台,起于垒土;千里之行,始于足下。------《老子》
今日学习任务!!!!!
1、动态SQL的使用

一、动态 SQL

在 MyBatis 中提供了动态 SQL 功能。将使用 Java 代码拼接 SQL 语句,改变为在 XML 映射文件中使用标签拼接 SQL 语句。
MyBatis 中动态 SQL 是编写在 mapper.xml 中的,其语法和 JSTL 类似,但是却是基于强大的 OGNL 表达式实现的。

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

二、if 标签

if 标签单分支判断语句

Mybatis框架-----动态SQL_第1张图片

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

三、choose、when、otherwise 标签

从多个条件中选择一个使用

Mybatis框架-----动态SQL_第2张图片
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

四、where 标签

使用 where 标签,就不需要提供 where 1=1 这样的条件了。如果判断条件不为空则自动添加 where 关键字,并且会自动去掉第一个条件前面的 and 或 or

Mybatis框架-----动态SQL_第3张图片
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

五、bind 标签

bind 标签允许我们在 OGNL 表达式以外创建一个变量,并可以将其绑定到当前的 SQL语句中。一般应用于模糊查询,通过 bind 绑定通配符和查询值

Mybatis框架-----动态SQL_第4张图片

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

六、set 标签

set 标签用在 update 语句中。借助 if 标签,可以只对有具体值的字段进行更新。set 标签会自动添加 set 关键字,自动去掉最后一个 if 语句的多余的逗号。

Mybatis框架-----动态SQL_第5张图片
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

七、foreach 标签

foreach 标签的功能非常强大,我们可以将任何可迭代对象如 List、Set 、Map 或者数组对象作为集合参数传递给 foreach 标签进行遍历。它也允许我们指定开头与结尾的字符串以及集合项迭代之间的分隔符

Mybatis框架-----动态SQL_第6张图片
迭代List、Set
Mybatis框架-----动态SQL_第7张图片
Mybatis框架-----动态SQL_第8张图片
在这里插入图片描述
Mybatis框架-----动态SQL_第9张图片
迭代数组
Mybatis框架-----动态SQL_第10张图片
Mybatis框架-----动态SQL_第11张图片
在这里插入图片描述
Mybatis框架-----动态SQL_第12张图片
迭代 Map
Mybatis框架-----动态SQL_第13张图片
Mybatis框架-----动态SQL_第14张图片
在这里插入图片描述
Mybatis框架-----动态SQL_第15张图片
使用 foreach 标签完成批量添加
Mybatis框架-----动态SQL_第16张图片
在这里插入图片描述
Mybatis框架-----动态SQL_第17张图片
Mybatis框架-----动态SQL_第18张图片
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

八、每日一夸

每日一夸!!!
就如同薛之謙对毛不易夸奖的
"你现在就是流星" , 但是我相信你 ,你坚持下去你就是巨星"

你可能感兴趣的:(#,5.3,Mybatis,sql,java,数据库)