MyBatis-动态SQL

<if>标签

用于判断条件是否成立,使用test属性进行条件判断,如果条件为true,则拼接SQL

<where>标签

where元素只会在子元素有内容的情况下插入where子句,而且会自动去除子句的开头的AND或OR

复制代码
<where>
    <if test="name!=null">
        name like concat('%',#(name),"%")
    </if>
</where>

<set>:动态地在行首插入SET关键字,并会删掉额外的逗号(用在update语句中)

<foreach>标签

SQL语句

delete from emp where id in (1,2,3);

接口方法:

public void deleteBylds(List<Integer> ids);

XML映射文件:

<delete id ="deleteBylds">

delete from emp where id in

<foreach collection ="ids" item="id" sepatator="," open="(" close=")">

#{id}

</foreach>

</delete>

属性:

collection:集合名称

item:集合遍历出来的元素

sepatator:每一次遍历使用的分隔符

open:遍历开始前拼接的片段

close:遍历结束后拼接的片段

sql片段

<sql>:定义可重用的SQL片段

<include>:通过属性refid,指定包含的sql片段

相关推荐
kybs199114 小时前
springboot视频推荐系统--附源码72953
java·spring boot·python·eclipse·asp.net·php·idea
无限进步_14 小时前
C++ 多态机制完全解析:从虚函数重写到动态绑定原理
java·c语言·jvm·数据结构·c++·windows·后端
知识汲取者15 小时前
巨量引擎 Marketing API Java SDK 介绍
java·开发语言
182******208315 小时前
2026年40岁自学java还能找到工作吗
java·开发语言
yuzhiboyouye15 小时前
java线程池
java·开发语言·firefox
网络工程小王15 小时前
【LCEL 链式调用详解】调用篇-2
java·服务器·前端·数据库·人工智能
Zzzzmo_16 小时前
【JavaEE】文件操作和IO
java·java-ee·io·文件操作·file·流对象
NE_STOP16 小时前
Redis-持久化之RDB
java
苍煜16 小时前
SpringBoot AOP切面编程精讲:实现方式、Spring区别及与自定义注解生产实战
java·spring boot·spring
胡小禾16 小时前
企业内部文件处理方案
java