首页 > 其他分享 >mybatis向xml文件传递list参数

mybatis向xml文件传递list参数

时间:2024-01-11 15:35:06浏览次数:36  
标签:xml 迭代 元素 list foreach mybatis close

问题描述

  前端传递给后端一个json字符串,但其嵌套了一个list列表,xml文件里的SQL语句该如何书写?

 

解决方法

  利用foreach标签遍历列表

// 核心代码

<if test="item.type != null and item.type.size > 0">
	a.type in
	<foreach collection="item.type" item ="itemType" open="(" close=")" separator=",">
		#{itemType}
	</foreach>
</if>

  注:foreach标签内的变量要使用item指定的名称,而不要去错误使用了集合名称,否则相当于将集合复制几份

 

foreach 元素的属性

  • item:集合中元素迭代时的别名(必选)
  • index:用于表示在迭代过程中,每次迭代到的位置(可选)
  • open:开始符号,一般是(和close=")"合用。常用在in(),values()时(可选)
  • separator:元素之间的分隔符,在in()的时候,separator=","会自动在元素中间用“,“隔开,如in(1,2,)(可选)
  • close:关闭符号,一般是)和open="("合用。常用在in(),values()时(可选)
  • collection:要做foreach的对象类型(必选)

  

标签:xml,迭代,元素,list,foreach,mybatis,close
From: https://www.cnblogs.com/ReturnOfTheKing/p/17958667

相关文章

  • mybatis-plus实体类基类
    packagecom.camp;importcom.baomidou.mybatisplus.annotation.*;importlombok.Data;importjava.time.LocalDateTime;/***@AuthorArbor*@DescriptionTODO*/@DatapublicclassBaseEntity{privatestaticfinallongserialVersionUID=1L;......
  • python基础之list、tuple、dict、set
    python基础,list,tuple,dict,set比较1.list:list是一种有序的集合,可以随时添加和删除其中的元素。用len()函数可以获得list元素的个数.list是一个可变的有序表>>>classmates=['Michael','Bob','Tracy']>>>len(classmates)3>>>classmates[0]//用......
  • 用Alist搭建属于自己的网盘下载站
    首先,我们得先知道Alist在GitHub项目中的位置:Alist一、什么是Alist它是一个支持多存储的文件列表程序,使用Gin和Solidjs制作。通俗的来讲,就是可以通过Alist将网盘挂载到服务端上,提取网盘文件对应的直链进行下载以及其他的操作。更重要的是,Alist不仅仅支持几个网盘,而是几乎覆......
  • 【愚公系列】2024年01月 WPF控件专题 ListBox控件详解
    ......
  • 无涯教程-Redis - CLIENT LIST命令函数
    RedisCLIENTLIST命令以人类可读的格式返回有关客户端连接服务器的信息和统计信息。CLIENTLIST-语法以下是RedisCLIENTLIST命令的基本语法。redis127.0.0.1:6379>CLIENTLISTCLIENTLIST-返回值id        -唯一的64位客户端ID(在Redis2.8.......
  • SpringBoot-Mybatis整合
     创建数据库CREATETABLE`user`( `id`int(11)NOTNULLAUTO_INCREMENTcomment'学号', `name`varchar(20)DEFAULTNULL, `pwd`int(11)DEFAULTNULL, PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=18DEFAULTCHARSET=utf8;创建一个springboo......
  • MyBatis实战指南(二):工作原理与基础使用详解
    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。那么,它是如何工作的呢?又如何进行基础的使用呢?本文将带你了解MyBatis的工作原理及基础使用。一、MyBatis的工作原理1.1MyBatis的工作原理工作原理图示:1、读取MyBatis配置文件mybatis-config.xml为MyBat......
  • MyBatis实战指南(二):工作原理与基础使用详解
    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。那么,它是如何工作的呢?又如何进行基础的使用呢?本文将带你了解MyBatis的工作原理及基础使用。一、MyBatis的工作原理1.1MyBatis的工作原理工作原理图示:1、读取MyBatis配置文件mybatis-config.xml为MyBa......
  • MyBatis中使用#{}和${}占位符传递参数的各种报错信息处理
    在Mapper层使@Select注解进行SQL语句查询时,往往需要进行参数传入和拼接,一般情况下使用两种占位符#{参数名}和${参数名},两者的区别为:一、两种占位符的区别1、参数传入方式的区别#{}是预编译处理,后台输出的日志会将SQL语句中的#{}占位符输出为?,将传入的Parameter传入SQL语句。${}......
  • 获取直播间的最新评论 - python 取两个list的差集
    python取两个list的差集作用:比如我要获取评论区列表,先获取了一遍,这个时候有人评论了几条,我再获取一遍后,找出多的那几条使用set数据类型来取两个列表的差集。差集表示仅包含在第一个列表中而不在第二个列表中的元素list1=[1,2,3,4,5]list2=[3,4,5,6,7]使用set取......