List<HashMap<String, Object>> list = cd.getAllCase(where);
现在B表根据条件查询得到一组数据list
list里有jjdbh这个字段每个数据唯一
怎么获取jjdbh?
根据获取的jjdbh将表A里的数据更新到B表中
怎么写循环?

解决方案 »

  1.   

    List <HashMap <String, Object>> list = cd.getAllCase(where); 
    1. HashMap <String, Object>的String是什么?Object又是什么?
    2. jjdbh是哪个?是String, 还是Object;
    如果HashMap <String, Object>中的String是jjdbh
    String[] keys = list.keyset().toArray();这keys就是jjdbh
    for( int i=0; i<keys.length;i++{
       jjdbh = keys[i];
       ...
    }
    如果jjdbh存在HashMap <String, Object>中的Object中
    for( int i=0; i<keys.length;i++{
       Object o = keys[i];
       jjdbh = o.getJjdbh();
       ...
    }
      

  2.   

    package cn.fita.task;import java.util.HashMap;
    import java.util.List;
    import java.util.Set;
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;import cn.fita.dao.CaseDao;
    import cn.fita.dao.JjdDao;
    import cn.fita.dto.Case;
    import cn.fita.dto.Jjd;public class CaseUpdate implements Job {
    private Jjd jjd;
    private String jjdbh;
    private Case case_dan = new Case();
    private static boolean running = false;
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
    // TODO Auto-generated method stub
    if (!running) {
    running = true;
    running = false;
    }
    }
    public void updateCase()throws Exception{
    CaseDao cd = new CaseDao();
    String where = " fsddz is null";

    List<HashMap<String, Object>> list = cd.getAllCase(where);


    JjdDao jd=new JjdDao();
        jjd=jd.getJjd(jjdbh);
    case_dan.setFsddz(jjd.getAfdd());
        case_dan.setXzqh(jjd.getXzqh());
        case_dan.setJjdbh(jjd.getJjdbh());
        case_dan.setGljjdbh(jjd.getGljjdbh());
        case_dan.setBjfs(jjd.getBjfs());
        case_dan.setJjlx(jjd.getJjlx());
        case_dan.setJjdcllx(jjd.getJjdcllx());
        case_dan.setJjdwmc(jjd.getJjdwmc());
        case_dan.setJjyxm(jjd.getJjyxm());
        case_dan.setJjtbh(jjd.getJjtbh());
        case_dan.setHrsj(jjd.getHrsj());
        case_dan.setBjsj(jjd.getBjsj());
        case_dan.setBjdh(jjd.getBjdh());
        case_dan.setYhxm(jjd.getYhxm());
        case_dan.setYhdz(jjd.getYhdz());
        case_dan.setBjrxm(jjd.getBjrxm());
        case_dan.setBjrxb(jjd.getBjrxb());
        case_dan.setLxdh(jjd.getLxdh());
        case_dan.setZzdw(jjd.getZzdw());
        case_dan.setBjnr(jjd.getBjnr());
        case_dan.setGxdwmc(jjd.getGxdwmc());
        case_dan.setBjlb(jjd.getBjlb());
        case_dan.setBjlx(jjd.getBjlx());
        case_dan.setBjxl(jjd.getBjxl());
        case_dan.setBkrs(jjd.getBkrs());
        case_dan.setSsrs(jjd.getSsrs());
        case_dan.setSwrs(jjd.getSwrs());
        case_dan.setRsjzlxdm(jjd.getRsjzlxdm());
        case_dan.setQhbwdm(jjd.getQhbwdm());
        case_dan.setQhlc(jjd.getQhlc());
        case_dan.setRswzbh(jjd.getRswzbh());
        case_dan.setRsmj(jjd.getRsmj());
        case_dan.setSjgxsj(jjd.getSjgxsj());
        CaseDao c = new CaseDao();
           c.update(case_dan); 

    }

    }
    }
      

  3.   

    上面是action
    下面是dao
    public List<HashMap<String, Object>> getAllCase(String where) {
    List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
    setFields(new String[] { "OBJECTID", "FLDM", "AJBH", "FSDDZ",
    "FSSJ", "XZQH", "JJDBH", "GLJJDBH", "BJFS",
    "JJLX", "JJDCLLX", "JJDWMC", "JJYXM",
    "JJTBH", "HRSJ", "BJSJ", "BJDH", "YHXM",
    "YHDZ","BJRXM", "BJRXB", "LXDH", "ZZDW",
    "BJNR","GXDWMC", "BJLB", "BJLX", "BJXL",
    "BKRS","SSRS", "SWRS", "RSJZLXDM", "QHBWDM",
    "QHLC","RSWZBH", "RSMJ", "SJGXSJ"});
    setTable("asj_pt");
    setWhere(where);
    try {
    this.open("GIS");
    list = find();
    System.out.println("list size="+list.size());
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } finally {
    this.close();
    }
    return list;
    }

      

  4.   

    给你一个arraylist例子参考,list应该也类似
    ArrayList<HashMap<String, Object>> arraylists = new ArrayList<HashMap<String, Object>>();
    HashMap<String, Object> hp =new HashMap();
    Object jjd="";for (int i=0;i<arraylists.size()-1;i++){
       hp=arraylists.get(i);
       jjd=hp.get("key");//你的hashMAP里面的key
    }
      

  5.   

    为什么要遁环更新,不做个批量更新呢?参考executeBatch 函数