关于mybaits中如何循环map集合

 

模拟请求 参数为map集合

@RequestMapping(value="/hh", method = RequestMethod.POST)
	public void hh() {
		Map<String,Object> outerMap=new HashMap<String,Object>();
		Map<String,Object> insideMap=new HashMap<String,Object>();
		insideMap.put("hh", "ye");
		insideMap.put("cc", "yy");
		insideMap.put("ih", "uu");
		
		outerMap.put("hei", insideMap);
		service.hh(outerMap);

 

xml中

<insert id="hh">
  	insert into a (
  		<foreach collection="hei" item="value" index="key" separator=",">
  			${key}
  		</foreach>
  	)values(
  		<foreach collection="hei" item="value" index="key" separator=",">
  			#{value}
  		</foreach>
  	)
  </insert>

 

控制台打印的sql

有上面的流程可知

            传入到xml文件中的集合outerMap,键值为hei对应着另一个map集合insideMap,所以在<foreach>标签中collection为hei对应的insideMap集合,index为insideMap的key,item为insideMap的value;#{key},#{value}即可取到pd这个map集合中的键值。至于${key},由于我写的是个插入语句,key值作为字段,value作为值,#{key}取出来的为字符串,而oracle数据库表明字段不能为字符串,用${key}取出即可;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值