61-MyBatis<forEach/>如何遍历Map参数里的健和值

这个参考了许多代码,还是弄了好久才搞好,下面分享一下:

注意对与参数:item="key", 要拿那个值要用:${key}

map 中是:{10047: 2, 10048: 1}}

	//  跟新题目的顺序
	@Transactional(readOnly = false)
	public void updataQuesOrder(Map map) {
		paperDao.updataQuesOrder(map);
	}

  

	// 跟新题目的顺序: 参数:{题目id:新的序号}
	public void updataQuesOrder(@Param("map")Map map);

  

	<!-- 跟新一个题目的顺序 -->
	<update id="updataQuesOrder" parameterType="java.util.Map">
		<foreach collection="map.keys" item="key">
			UPDATE db_question2 SET
			 	qid=#{map[${key}]}
		    WHERE id= ${key} ;
	    </foreach>
	</update>

  

给以写参考文章:

foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值

Mybatis foreach的参数(Map)

原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/11184956.html

时间: 2024-07-30 13:40:23

61-MyBatis<forEach/>如何遍历Map参数里的健和值的相关文章

Mybatis foreach嵌套遍历Map的key和value

最近做东西,需要向数据库存储一个保存在HashMap的key和value中的数据.具体的结构大致是Map<Object, Set<String>>. 数据库中需要保存两个个字段:1.key中对象的id,set中的多个string,显然id和set中的string是1对多的关系:需要嵌套循环. 一开始怀疑Mybatis能否做到这样灵活sql,经过尝试,证明了Mybatis的强大. 具体做法:(Oracle数据库) <insert id="saveMatchResult

java 遍历Map并且获取其中的键值

errCodeMap是要遍历的Map, Iterator it = errCodeMap.entrySet().iterator(); while(it.hasNext()){ Map.Entry entry = (Entry) it.next(); String key = entry.getKey().toString(); // 返回的对应map的key值 String value = entry.getValue().toString();  // 返回的对应map的value值 }

Java遍历Map对象

Map作为我们常用的容器,在学习和工作中用的很多,下面介绍几种遍历Map集合对象的方法,供大家参考 第一种,在for-each循环中,使用Entry对象遍历Map中的每一个键值对,这个方法比较常用,但是for-each在java1.5之后引入,所以需要高于1.5的版本才可以使用,另外,对于为空的Map进行foe-each遍历会抛出空指针异常,需要注意Map是否为空 第二种,和第一种类似,也是for-each循环,不过循环的对象是是键或者值,写法也类似 第三种,使用迭代器遍历,放例子 当然,除了可

Mybatis 学习---${ }与#{ }获取输入参数的区别、Foreach的用法

一.Mybatis中用#{}和${}获取输入参数的区别 1."#{}"和"${}"都可以从接口输入中的map对象或者pojo对象中获取输入的参数值.例如 1 <mapper namespace="com.hh.dao.UserDao"> 2 <select id="selectByIdList" resultType="com.hh.domain.SysUser"> 3 select

JSP中遍历map里的list,或者 遍历list里的map

遍历map里的list遍历map <c:forEach items="${uMap}" var="map"> 获取map key ${map.key} 遍历map 下list <c:forEach items="${map.value}" var="list"> 如果list是个对象,可以用list.属性 获取这个对象的属性 获取list内容 ${list.属性} ${list.属性} ${list.属

mybatia的mypper.xml文件,参数类型为map,map里有一个键值对的值为数组,如何解析,例子可供参考

最近做了一些从hebernate到mybatis的迁移,hebernate中各种的关联查询原本想在mybatis中实现,可发觉没必要,只是多写几条sql的问题.关键是遇到map传递数组问题,折磨了不少时间,问题是这样的,sql中有一个查询,大概是where depId in ('1818','1058','999'),括号里面是数组,数组要从参数map取出,如何在xml文件中实现这条sql呢. 首先,map的类型要为map<String,Object>类型,这样值里面才能放入数组,我是这样写的

mybatis传入map参数,map中包含list(输入参数)

1.xml中配置: <!-- 根据条件查询满足条件的ID集合开始 --> <select id="getQuestionsIdsForExamPaper" resultType="java.lang.String" parameterType="hashmap"> select questionId from questions <where> <include refid="query_que

JavaScript数组遍历map()的原型扩展

在 JavaScript 1.6 里,javascript 数组增加了几个非常有用的方法:indexOf.lastIndexOf.every. filter. forEach. map. some,其中前两个可以归为元素定位方法,而后面的几个则可以归为迭代(iterative)方法. 遗憾的是:这些新方法并非所有浏览器都支持,在这种情况下,我们就需要自己动手了,在这些介绍的文章中,我们同时提供了在不支持这些新特性的浏览器中的实现方法. 原生方法如下: 1 var mappedArray = ar

mybatis ForEach Collection集合等规范解析(转)

转自:http://blog.csdn.net/wj3319/article/details/9025349 在SQL开发过程中,动态构建In集合条件查询是比较常见的用法,在Mybatis中提供了foreach功能,该功能比较强大,它允许你指定一个集合,声明集合项和索引变量,它们可以用在元素体内.它也允许你指定开放和关闭的字符串,在迭代之间放置分隔符.这个元素是很智能的,它不会偶然地附加多余的分隔符.下面是一个演示示例:   <select id="findByIdsMap" r