Mybatis--第九节动态sql语句

导言:
动态sql语句是:通过mybatis提供的各种标签方法实现动态拼接sql。

A: if动态标签

1:if标签(根据客户名和级别查询客户)

在这里插入图片描述

2:存在问题:
	1.有可能传入的名称或级别为空
	2.可以使用if标签来进行判断
	3.如果前一个条件这后,后面就会多一个and执行就会报错

在这里插入图片描述

B:Where标签

1:当where后面的条件不赋值的时候,就会报错,这时候就要红到where标签。还能删除where后第1个and

在这里插入图片描述
C: trim标签

1:trim标签
   		prefix:设置前缀  在第一个条件之前加一个前缀
  		 prefixOverrides: 条件前缀覆盖 把第一个条件之前的and变成空
   		suffix: 设置后缀 在最后一个条件之后加一个后缀
   		suffixOverrides: 条件后缀覆盖  把最后一个条件之后的and变成空

在这里插入图片描述
D:choose标签

1 choose   只要第一个条件满足,后面条件都不执行
  when
  otherwise

在这里插入图片描述
E:set标签

1:set标签是用与更新语句的
   set标签:会添加update 中 set  并且它会把最后一个,去掉

在这里插入图片描述
F:foreach标签

1:查询条件值为指定的值当中(直接查询)

在这里插入图片描述

在这里插入图片描述

2: 给定的值可以以三种形式(第一种形式:数组,parameterType=“Integer"是表达用数组的方式传
参数,collection="array"同样也是对应着数组,separator=",”表示用逗号把数组之间用逗号隔开,

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

3: 第二种形式:List集合

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

4第三种形式:创建对象,首先先创建一个QueryVo类,

在这里插入图片描述
下面的是数组对应的查询语句
在这里插入图片描述
在这里插入图片描述
下面的是List集合对应的查询语句
在这里插入图片描述
在这里插入图片描述
G:bind标签

1:bind标签:可以取出传入的值,重新处理, 赋值给别外一个值
注意点:这里查询到的是id为4的数据。

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

在这里插入图片描述
H: Sql中可将重复的sql提取出来,使用时用include引用即可,最终达到sql重用的目的

1:sql片段是用  <sql>标签,里面也可以用到when标签进行筛选,
用<include refid="selectID">标签替换掉一样的sql语句

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

发布了18 篇原创文章 · 获赞 0 · 访问量 261

猜你喜欢

转载自blog.csdn.net/JULIAN__/article/details/103574889
今日推荐