![f9494f1b8dd0ef0adebb37aa30f07f55.png](https://img-blog.csdnimg.cn/img_convert/f9494f1b8dd0ef0adebb37aa30f07f55.png)
在我们实际开发过程中动态SQL的使用远多于静态是SQL(前面用的所有sql都是静态的,也就是一成不变的),而动态SQL是根据条件的不同,SQL语句也会随之动态的改变,
![18bfa00906b0d6cdd7f082208bb425b0.png](https://img-blog.csdnimg.cn/img_convert/18bfa00906b0d6cdd7f082208bb425b0.png)
if
if 用于进行条件判断,
test属性用于指定判断条件. 为了拼接条件, 在 SQL 语句后强行添加 1=1 的恒成立条件.
但是会造成浪费资源等情况所以需要使用where标签来配合
where
where用于管理 where 子句.有如下功能:
a) 如果没有条件满足,不会生成 where 关键字。
b) 如果有条件满足, 会添加 where 关键字
c) 如果第一个条件中有 and,会自动去除and。
示例代码
<?xml version="1.0" encoding="UTF-8"?>
测试代码1:有参数情况
![f0daf39a5e61daae9e664c0650235543.png](https://img-blog.csdnimg.cn/img_convert/f0daf39a5e61daae9e664c0650235543.png)
测试代码2:无参数情况
![fa36e776455671935b18dbba95f8ce40.png](https://img-blog.csdnimg.cn/img_convert/fa36e776455671935b18dbba95f8ce40.png)
测试3:单一参数情况
![51595481b6c3510cc956d031ad0e9b30.png](https://img-blog.csdnimg.cn/img_convert/51595481b6c3510cc956d031ad0e9b30.png)