我是初学者,用Hibernate自动生成的dao来做查询和修改,想请大家指导一下,如何用里面的查询方法查出数据库所有的数据,并显示在页面上。希望能给个实例。
注:用的findByExample()方法。 我想用这个方法查询出一张表:user里面所有的信息,然后把全部信息显示在页面上。希望能有人帮忙。谢谢了 

解决方案 »

  1.   

    源码我就不显示了,稍微指点下吧!用hibernate的自动生成的的dao,里面就封装了一下常用的方法,你自己稍微改下就是了 List results = getSession()
    .createCriteria("com.anbo.lzy.TableTerm").add(
    Example.create(instance)).list();
    log.debug("find by example successful, result size: "
    + results.size());
    return results;
    } catch (RuntimeException re) {
    log.error("find by example failed", re);
    throw re;
    }
    }
    把这个改为你对应的实体类:TableTerm instance  就是User List results = getSession()
    .createCriteria("com.anbo.lzy.TableTerm").add(
    Example.create(instance)).list();这就话改下,改为:List result=getSession().createQuery("select user from User").list();将result 保存到request中,跳转到页面 用EL表达式显示即可!
      

  2.   

    sessionFactory = new Configuration().configure()
         .buildSessionFactory();   Session session = sessionFactory.openSession();   List users = session.find("from User");   session.close();
       sessionFactory.close();   for (ListIterator iterator = users.listIterator(); iterator
         .hasNext();) {
        User user = (User) iterator.next();
        System.out.println(user.getName() + "\n\tAge: " + user.getAge()
          + "\n\tSex: " + user.getSex());
       }
      } catch (HibernateException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      

  3.   

    回lizhongyi188:
    改为:
    List result=getSession().createQuery("from User").list();
    后  已经正常了,hibernate已经显示SQL了  但是我在页面上如何让他显示全部的内容呢 因为查出来不止一个数据  不用EL表达式的话  用普通的 怎么做? 
      

  4.   

    用chenyongsuda的方法搞定了  谢谢
      

  5.   


    不管用 el 还是jstl 还是struts标签 都需要迭代的
      

  6.   

    查所有数据用session.createQuery()方法,或者session.createSQLQuery(),很多都能查。
    如果查一条数据最好用session.get(),load方法在查不出是会抛出异常,get会直接返回null