首页 > 数据库 >【随手记】mybatis动态sql foreach遍历List<Map>问题

【随手记】mybatis动态sql foreach遍历List<Map>问题

时间:2023-11-15 10:58:35浏览次数:114  
标签:List list item foreach sql mybatis

使用mybatis时经常需要在xml里写动态sql,发现foreach标签使用的问题

foreach标签使用

当Mapper传参是List<Map<String, Object>集合的形式时,不能直接使用参数名,会找不到对应的参数。

list类型的参数会特殊处理封装在map中,map的key就叫list

所以collection属性值只能是"list"

// mapper
boolean saveOrUpdateBatch(List<Map<String, Object>> list);
// xml
<foreach collection="list" item="item"  separator=",">
      (#{item.ID},#{item.xxx1},#{item.xxx2},#{item.xxx3})
</foreach>

标签:List,list,item,foreach,sql,mybatis
From: https://www.cnblogs.com/Cloong/p/17833328.html

相关文章

  • 数据库性能查看-查看MySQL数据库操作记录
    测试orm或者Django序列化器的时候,我需要知道他们都干了什么,这就需要打开MySQL的操作日志进入MySQL的客户端命令界面:showvariableslike'gen%';+------------------+---------------------------------+|Variable_name|Value|+----------......
  • 为什么MySQL不建议使用delete删除数据?
    MySQL并不直接建议禁止使用DELETE语句删除数据,但是在某些情况下,使用DELETE可能会带来一些潜在的问题,特别是在大型数据库中。下面我将详细介绍为什么在某些情况下MySQL不建议过度使用DELETE语句来删除数据,并探讨其可能带来的影响。1.DELETE操作的影响DELETE语句用于从表中删除......
  • Mysql主键不要使用uuid或者不连续不重复雪花id
    一、简介     mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?二、对比    2.1、自增主键id         自增......
  • sqlserver 开启alwayson功能
     1、开启alwayson,必须root用户登录dockerroot@4d14bd7c81c7:/opt/mssql/bin#./mssql-conf sethadr.hadrenabled 1启用前:启用后重启sqlserver重启后: ......
  • mysql跨库事务XA
    XA的性能很低,但是没得选的时候,也是个方案<?PHP$dbtest1=newmysqli("127.0.0.1","public","public","dbtest1")ordie("dbtest1连接失败");$dbtest2=newmysqli("127.0.0.1public","public","dbtest2&qu......
  • oracle 查看SQL执行计划
    参考:https://blog.csdn.net/m0_71406734/article/details/130745657执行计划的目的了解SQL语句的执行方式,帮助开发人员和DBA分析SQL语句的性能瓶颈。查看SQL语句的执行效率,帮助开发人员和DBA优化SQL语句的性能。了解数据库的物理结构,如索引、表之间的连接方式等。帮助开发人......
  • 实现批量插入和更新(mysql)
    在实际数据库应用中,经常需要实现插入或更新(插入新数据,如果已存在则更新已有数据)的功能。然而,在处理大量数据时,频繁的数据库I/O操作可能导致性能问题。MySQL批量插入和更新使用INSERT...ONDUPLICATEKEYUPDATEMySQL提供了INSERT...ONDUPLICATEKEYUPDATE语法,通......
  • oracle查询表空间占用sql
    查询表空间占用SELECT tablespace_name"表空间名", 100"已使用空间(MB)", 0"剩余空间(MB)", 100"总的预分配空间(MB)", 100||'%'"已使用百分比", 0||'%'"剩余百分比"FROM ( SELECT tablespace_name FROM ......
  • .NET7 使用DbContext 连接SqlServer数据库
     ......
  • 牛客-sql编程-错误
    问题:程序异常退出,请检查代码"是否有数组越界等异常"或者"是否有语法错误"SQL_ERROR_INFO:"YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'--合并表\nselect*\nfrom(\nselec......