javamap遍历sql查询结果_Map遍历、sql查询
1、map的遍历有两种⽅法,⼀种是keySet,另⼀种是entrySet,如下:
//⽅法⼀
Set set = map.keySet();sql自学难吗
for (String s:set) {
System.out.println(s+","+(s));
}
//⽅法⼆
Set> Set();
for (Map.Entry entry:entryseSet) {
System.out.Key()+","+Value());
}
在遍历的数据较少时,两者没有什么区别,但是数据较多时⽅法⼆要⽐⽅法⼀的效率要⾼,所以以后写程序开发的时候,这点⼩细节还是要注意的。
2、这周在做项⽬的时候需要联合查询表数据,⽐如获取⽤户添加和未添加的软件,虽然不难,但是学到了另外⼀种思路就是在使⽤sql语句进⾏查询的时候可以⾃动产⽣⼀列,我的项⽬中是根据当前登录⽤户的编号查询该⽤户添加和未添加的桌⾯软件,可以通过⼀下两种⽅式实现:
(1)select * from (select * from tb_software where state=2) a left join tb_user_software u on a.software_id = u.software_id and u.user_id=1;
(2)
select * from (select CONCAT("yes") as is_add,software_id,software_name,picture_name,bhri,remark from tb_software where state = 2 and software_id in(select software_id from tb_user_software where user_id=1)
union
select CONCAT("no") as is_add,software_id,software_name,picture_name,bhri,remark from tb_software where state = 2 and software_id not in(select software_id from tb_user_software where user_id=1)
) as t
第⼀句是根据⽤户编号判断是否软件已添加,⽽第⼆句是查询时便多产⽣⼀列,可以直接读取结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论