一、union
合并两个结果集,列不对等的情况:(表中userid有为空的存在,如为空,则将显示用户名为‘无’,不为空正常显示employee表中的用户名)
———‘无’ as username
select sr.id,sr.userid,em.username,sr.power,sr.operator,sr.svndir,sr.type,sr.createdate from rds.svn_record sr, rds.employee em where sr.userid=em.userid
UNION
select sr.id,sr.userid,'无' as username,'null' as power,sr.operator,sr.svndir,sr.type,sr.createdate from rds.svn_record sr where sr.userid is null
二、不能边迭代边修改
List<Map<String, String>> userConfig=this.svnPowerService.readUserConfig();
for (Map<String, String> map : userConfig) {
if(map.containsKey(loginname)) {
map.remove(loginname);
break;
}
}
如果不加break将会报错,这里key没有重复,找到需要的key移除后就可以结束循环。
三、final
当有一个全局变量时,需要记录这个变量前后的变化,可以在变化前赋给一个变量存储,然后改变后给另外一个变量,在比较这两个变量的值找出变化。因为是全局变量,这里都是引用,如果不在变化前的变量上加final的话,最后变化前后的变量是一样的,都指向同一个引用。
final Map<String, Map<String, String>> root_map = dirMap.get(svn_root);