mybatis动态SQL常用的标签

mybatis动态SQL常用的标签在使用 sql 片段时使用 include 标签通过 sql 片段的 id 进行引用 sql 片段的 id 在当前空间是唯一的 sql 片段中也可以写其他的内容 只要符合语法规范都是可以的

1.

标签

也叫

片段,在使用sql片段时使用include标签通过sql片段的id进行引用,sql片段的id在当前空间是唯一的,sql片段中也可以写其他的内容,只要符合语法规范都是可以的。示例:

 
   
  
    id, name, age, hobby, del_flag, create_time, update_time 
   

(注:

可以是单标签的,效果是一样的,我这里使用了双标签~) 

2.

标签

根据where其后是否有sql,判断拼接 where,满足条件就拼接,否则不拼接。示例:

 

3.

标签

类似于Java中的switch分支。只进入一个满足when的条件,如果所有when都不满足,则进入otherwise。示例:

 

 4.

标签

与where有相似,其后如果存在条件,则拼接set。

标签会动态地在行首插入SET关键字,并且自动帮我们去掉多余的逗号,适用于update,示例:

 
  
    update animal 
    
    
      age = #{age} 
     
    
      name = #{name}, 
     
    
      hobby = #{hobby} 
     
    where id = #{id} 
  
 
  
    update animal 
    
    
      `name` = #{name,jdbcType=VARCHAR}, 
     
    
      `age` = #{age,jdbcType=VARCHAR}, 
     
    
      hobby = #{hobby,jdbcType=VARCHAR}, 
     
    
      create_time = #{create_time,jdbcType=TIMESTAMP}, 
     
    
      update_time = #{update_time,jdbcType=TIMESTAMP}, 
     
    where id = #{id,jdbcType=INTEGER} 
  

 5.

标签

   用于遍历List、Map、Array , 属性如下:

  • collection:指定需要遍历的元素
  • item:遍历之后的每一项
  • separator:定义foreach里面语句的分隔符
  • index:map中代表key,数组中代表数组下标
 

6。

标签,用来定义变量,示例:

    mapper层:

List 
  
    getByName(@Param("animalName") String name); 
  

    xml映射层: 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223349.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午2:17
下一篇 2026年3月17日 下午2:17


相关推荐

  • linux搭建php运行环境_linux系统开发环境搭建

    linux搭建php运行环境_linux系统开发环境搭建一、安装Apache2.2.221、到官网下载http://httpd.apache.org/download.cgi,选择相应的版本这里,我选择的是最新的版本可以先下载到windows系统中,上传到linux,也可以直接下载到linux:wgethttp://mirrors.tuna.tsinghua.edu.cn/apache//httpd/http…

    2025年11月30日
    6
  • Linux 系统 node.js 安装

    Linux 系统 node.js 安装1 查看系统信息命令 uname a2 选取合适的版本 node js 版本地址 https nodejs org dist 根据自己系统选择对应的包 图中标记的是 liunx64 位操作系统对应的包 3 下载对应的安装文件命令 wgethttps nodejs org dist v17 6 0 node v17 6 0 linux x64 tar xz4 对所下载的文件进行解压缩和转移命令 tar xvfnode v17 6 0 linux x64

    2026年3月26日
    2
  • 查看文件内容linux命令_shell读取文件夹下所有文件

    查看文件内容linux命令_shell读取文件夹下所有文件查看文件内容总览cat由第一行开始显示文件内容tac从最后一行开始显示,可以看出tac是cat的倒着写!nl显示的时候,顺道输出行号!more一页一页的显示文件内容less

    2022年8月6日
    9
  • C++中this指针的本质

    C++中this指针的本质一直以来对C++中的this不理解,只知道在构造函数中,如果构造函数的参数和类成员的名字一样的话,就可以用this指针来区分,如:this->a=a;一直以来都有这个疑问:this究竟是什么?我们明明没有定义这个this,但是我们可以直接用而编译器不会报错。今天来解决这个疑问。从刚才的代码中,我们用”this->”而不是”this.”就说明this是一个指针,而我们知道,在C、C++中,指针

    2022年5月16日
    48
  • 模仿学习(Imitation Learning)概述

    模仿学习(Imitation Learning)概述本篇文章是基于台大李宏毅老师的课程写的,如有疏漏,请看原课程。https://www.youtube.com/watch?v=rl_ozvqQUU81.什么是模仿学习?模仿学习(ImitationLearning)也被称为基于演示的学习(LearningByDemonstration)或者学徒学习(ApprenticeshipLearning)。机器是可以与环境进行交互的,但…

    2026年1月28日
    4
  • Nginx转发https

    Nginx转发httpsnginx

    2022年10月19日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号