动态 SQL 的使用

目录

  • [1、< if> 标签](#1、< if> 标签)
  • [2、< trim> 标签](#2、< trim> 标签)
  • [3、< where> 标签](#3、< where> 标签)
  • [4、< set> 标签](#4、< set> 标签)
  • [5、< foreach> 标签](#5、< foreach> 标签)

1、< if> 标签

< if test="条件语句"> xxxx < /if>

只有当条件语句满足条件,才会拼接 < if> 标签内容,因此可用于可选字段。

2、< trim> 标签

如果有多个可选字段,一般使用< trim>标签结合< if>标签。

  • prefix:整个语句块以 prefix 为前缀。
  • suffix:整个语句块以 suffix 为后缀。
  • prefixOverrides:表示整个语句块要去除的前缀。
  • suffixOverrides:表示整个语句块要去除的后缀。

3、< where> 标签

根据传入的对象属性做 where 条件查询,对象属性不为 null,则都作为查询条件。

以上标签也可以使用 < trim prefix="where" prefixOverrides="and"> 替换

4、< set> 标签

根据传入的对象属性来更新数据,使用该标签来指定动态内容。

以上标签也可以使用 < trim prefix="set" suffixOverrides=","> 替换。

5、< foreach> 标签

对集合进行遍历时可以使用该标签,一般用于批量删除和插入。


  • collection:绑定方法参数中的集合,如 List,Set,Map或数组对象
  • item:遍历时的每一个对象变量名
  • open:语句块开头的字符串
  • close:语句块结束的字符串
  • separator:每次遍历之间间隔的字符串
相关推荐
AI-好学者4 小时前
阶段一-图数据库基础与PropertyGraph模型
数据库·rag·knowledge graph·graphrag
其实防守也摸鱼5 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚5 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
龙仔7255 小时前
SQL Server 创建只读账号完整操作(分两种场景:SSMS图形界面 + T-SQL脚本)
数据库·sql·oracle
霁月的小屋5 小时前
生产环境中的事务实践——银行系统上线记(四)
数据库
Database_Cool_6 小时前
AI 应用数据底座首选:阿里云 PolarDB 为大模型 RAG 提供一体化支撑
数据库·阿里云
玖玥拾6 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
IvorySQL7 小时前
PG 日报|社区讨论重构 pg_hba 配置文件格式
数据库·人工智能·postgresql·重构·ivorysql
逝水无殇7 小时前
C# 文件的输入与输出详解
开发语言·数据库·后端·c#
罗政9 小时前
PDF 批量合并工具:本地 AI 自动排序、识别正文日期与合同编号
数据库·pdf·php