首页 > 代码库 > 005---query接口初步

005---query接口初步

Query session.createQuery(String hql)方法;

    * hibernate的session.createQuery()方法是使用HQL(hibernate的查询语句)语句查询对象的。

    * hql:是查询对象的,例如:"from User",其中from不区分大小写,而User是区分大小写,因为它是对象。是User类

    * 返回Query对象。

    * 执行这条语句后,Hibernate会根据配置文件中所配置的数据库适配器自动生成相应数据库的SQL语句。如:

 

Hibernate: select user0_.id as id0_, user0_.name as name0_, user0_.password as password0_, user0_.createTime as createTime0_, user0_.expireTime as expireTime0_ from User user0_

 

Query的分页查询:

 

完整代码如下:

public void testQuery1(){
        Session session = null;
        
        try {
            session = HibernateUtils.getSession();
            session.beginTransaction();
                        
            Query query = session.createQuery("from User");
            
            // 分页查询
            query.setFirstResult(0);//从哪一条记录开始查询,是从0开始计算
            query.setMaxResults(2);//分页每页显示多少条记录。
            /*
             * Query对象中有一个list()方式,将所有查询来的对象自动生成list对象返回。
             */
            List userList = query.list();
            
            //然后我们就可以显示数据了。
            for (Iterator iter = userList.iterator();iter.hasNext();){
                User user = (User)iter.next();
                System.out.print(user.getId() + "   ");
                System.out.println(user.getName());
            }
            
            session.getTransaction().commit();
        } catch (HibernateException e) {
            e.printStackTrace();
            session.getTransaction().rollback();
        } finally {
            HibernateUtils.closeSession(session);
        }
    }

 

005---query接口初步