动态 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:每次遍历之间间隔的字符串
相关推荐
熬夜苦读学习3 分钟前
库制作与原理
linux·数据库·后端
cmgdxrz42 分钟前
Mysql中的常用函数
数据库·mysql
Amy.com1 小时前
Linux16-数据库、HTML
jvm·数据库
无敌发光大蟒蛇2 小时前
MySQL第一次作业
android·数据库·mysql
曹二7472 小时前
Spring-事务
数据库·spring·oracle
m0_748238922 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
神奇侠20243 小时前
基于springboot和spring-boot-starter-data-jpa快速操作mysql数据库
数据库·spring boot·mysql
TsuanS3 小时前
SQL 注入 (C++向)
数据库·c++·sql
若云止水4 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - conf_ctx
数据库·nginx·ubuntu
伏游4 小时前
【PostgreSQL】如何免密使用PostgreSQL数据库内置工具
数据库·postgresql