struts1.x dao方法中实现三个表的查询,但是actionform有三个,我只能取其中一个表中的数据,我想取到三个表的数据该如何解决?

解决方案 »

  1.   

    查询后取得list用for循环遍历Iteratorfor (Iterator it = list.iterator(); it.hasNext();) {
         Hashtable ht = new Hashtable();
         ht = (Hashtable) it.next();
         String str = ht.get("字段名").toString();
         System.out.println(str);

      

  2.   

    这三张表应该有联系的吧
    如果有的话,就直接用hibernate的映射关系就好啊,或者是连表查询啊如果他们没有关系的话,那你就一张一张的查询出来然后在塞到相应的对象里面就好了啊
      

  3.   


    我的list在方法中是这么取得:
    List list = new ArrayList();
    xForm xform =null;
    try {
         ps = conn.prepareStatement(sql); 
         ResultSet rs = ps.executeQuery();
         while (rs.next()) {
    xform = new xForm ();
            tform.setx();
            list.add(xform);
    }这个xform仅仅是一个表的实体类,这样查询的话只查询了一个表的数据
      

  4.   

    再建一个form里面引用那3张表的实体类
      

  5.   

    一个action只能配置一个form,但dao中查询几个表和这没关系啊,dao中想查几个就查几个呗。
    另外个人建议dao中最好别用form了,理论上form是用来将页面提交的参数封装之后传给action的,form与页面对应应属view层。所以dao中用form就不大规范了,最好是自己再写一个vo类封装数对应据库中字段的信息,在model层与control层之间用vo来传递参数。
      

  6.   

    用 Hibernate 的 关联查询比较好