zoukankan      html  css  js  c++  java
  • Map遍历、sql查询

    1、map的遍历有两种方法,一种是keySet,另一种是entrySet,如下:

    //方法一  

     Set<String> set = map.keySet();   

    for (String s:set) {  

      System.out.println(s+","+map.get(s));

    }

     //方法二  

     Set<Map.Entry<String, String>> entryseSet=map.entrySet();  

     for (Map.Entry<String, String> entry:entryseSet) {  

       System.out.println(entry.getKey()+","+entry.getValue());  

     }  

    在遍历的数据较少时,两者没有什么区别,但是数据较多时方法二要比方法一的效率要高,所以以后写程序开发的时候,这点小细节还是要注意的。

    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

    第一句是根据用户编号判断是否软件已添加,而第二句是查询时便多产生一列,可以直接读取结果。

  • 相关阅读:
    支付宝支付-扫码支付
    安装agent
    设置微服务环境变量脚本
    曹工说Spring Boot源码(23)-- ASM又立功了,Spring原来是这么递归获取注解的元注解的
    matlab文件拷贝
    hive优化之调整mapreduce数目
    软件测试面试题
    wtforms第三方校验库
    flask貌似可以学习和参考的网站
    flask 接受(获取)url 请求的参数 的方法 和 表单 post过来的数据
  • 原文地址:https://www.cnblogs.com/zhli/p/2889617.html
Copyright © 2011-2022 走看看