1.ConcurrentModificationExceptionå¼å¸¸
2.mybatis查询返回map的源码问题
3.Java 的MapKey是什么
ConcurrentModificationExceptionå¼å¸¸
ä½ åç¨for(String key : mapKey)éåæ¶ï¼å¦æ对mapè¿è¡äºä¿®æ¹å°±ä¼æåºæ¤å¼å¸¸ãå¦æéè¦å¨éåç循ç¯å é¨å¯¹mapè¿è¡ä¿®æ¹(å¦remove)ï¼å¯ä»¥ç¨Enumeration enm = map.keys();
å¦æä¸éè¦å¯ä»¥ç¨HashtableãConcurrentHashMap
mybatis查询返回map的问题
假设背景:想要获取某个省下各个市有多少问题,以 Map 的讲解形式返回,key 代表某个市的源码问题个数。数据库表如下:
因此,讲解每有一条该市的源码网站url推送源码数据就代表该市多了一个问题。假设为江苏省的讲解金花棋牌源码搭建编码,为南京市的源码编码,为苏州市的讲解编码,数据如下:
正确返回的源码某个省下各个市有多少问题的map结果应为:
以下是一些可能的写法:
1、mybatis只返回单个map
mapper接口:
mybatis的讲解xml文件中:
此时会报错,期待的源码是一个map,但是讲解得到的结果是两个map,为:
可见mybatis返回的源码棋牌网站类源码map是只能返回一个的,遇到多的讲解就会报错,会将select后面的源码字段的名称作为key,值作为value。可参考:codeleading.com/article...
2、战神引擎配套源码查询返回map的list
这是第一个正确写法。想要获取想要的效果,mybatis返回的是一个list的map,每个map同上一个结果,抢购商城系统源码但是是list形式的
mapper接口:
xml文件:
service层:
可以看出这种方式mapper是返回的list形式的map,然后再在service层转换成所需的map的形式。
3、利用mybatis的@MapKey注解返回map
要先定义一个do对象,利用mybatis的@MapKey注解 do对象,分别为城市的编码,和该城市的问题的数量
mapper接口:
xml文件:先定义resultmap,再写sql
service层:
Java 的MapKey是什么
mapkey? 具体点 是说mapkey这个类是啥 还是说 map中得key是干嘛的?
map本身就是key-value类型的数据模型, 通过key来找对应value呗。 跟数据储存在内存中是一样得, 通过内存地址找对应数据内容,一个道理。