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片段

相关推荐
YDS82914 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— 环境搭建和项目初始化
java·springboot·agent·rag·deepseek
ChoSeitaku14 小时前
04.数组
java·开发语言·数据结构
float_com14 小时前
【java进阶】------ 多线程【实际案例分析】
java
用户2986985301414 小时前
Java 中的 Word 变量管理:添加、统计、获取与删除
java·后端
今天也是元气满满的一天呢14 小时前
详解SQL注入问题
网络·数据库·sql
郭龙_Jack14 小时前
Java 17 到 Java 25:LTS 升级的全面收益与迁移指南
java·开发语言·python
omenkk714 小时前
【MySQL专题】1.一条更新SQL语句是如何执行的
数据库·sql·mysql
要开心吖ZSH15 小时前
Java AI Agent 开发中的 RAG 实现方案及小白入门指南
java·ai·agent·rag
掉鱼的猫15 小时前
Java 流程编排新范式 Solon Flow:一个引擎,七种节点,覆盖规则/任务/工作流/AI 编排全场景
java·workflow
Aaa1111144315 小时前
四类地址 逻辑地址 线性地址 虚拟地址 物理地址
java