hibernate HQL查询的例子

  1. import java.util.List;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.Transaction;  
  6. import org.hibernate.cfg.Configuration;  
  7. import org.hibernate.query.Query;  
  8.   
  9.   
  10. import demo.entity.User;  
  11.   
  12. @Test //简单查询所有  
  13.     public void testGetUser(){  
  14.         // TODO Auto-generated method stub  
  15.         SessionFactory sf = null;  
  16.         Session session = null;  
  17.         Transaction ts = null;  
  18.   
  19.         try {  
  20.             sf = hibernateUtil.getSessionFactory();  
  21.             //用getCurrentSession创建的Session实例只属于当前线程  
  22.             session = sf.getCurrentSession();  
  23.             ts = session.beginTransaction();  
  24.             Criteria criteria = session.createCriteria(User.class);  
  25.             List users = criteria.list();  
  26.             for(int i=0;i<users.size();i++)  
  27.             {  
  28.                 User user =(User)users.get(i);  
  29.                 System.out.println(i+”–”+user.getUsername());  
  30.             }  
  31.             ts.commit();  
  32.         } catch (HibernateException e) {  
  33.             // TODO Auto-generated catch block  
  34.             if(ts != null)  
  35.             {  
  36.                 ts.rollback();  
  37.             }  
  38.             e.printStackTrace();  
  39.         }   
  40.     }  
  41. }  
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;


import demo.entity.User;

@Test //简单查询所有
    public void testGetUser(){
        // TODO Auto-generated method stub
        SessionFactory sf = null;
        Session session = null;
        Transaction ts = null;

        try {
            sf = hibernateUtil.getSessionFactory();
            //用getCurrentSession创建的Session实例只属于当前线程
            session = sf.getCurrentSession();
            ts = session.beginTransaction();
            Criteria criteria = session.createCriteria(User.class);
            List users = criteria.list();
            for(int i=0;i<users.size();i++)
            {
                User user =(User)users.get(i);
                System.out.println(i+"--"+user.getUsername());
            }
            ts.commit();
        } catch (HibernateException e) {
            // TODO Auto-generated catch block
            if(ts != null)
            {
                ts.rollback();
            }
            e.printStackTrace();
        } 
    }
}

结果:


HQL(Hibernate Query Language)是完全面对对象的查询语句,查询功能强大,具备继承、多态和关联等特性。

Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL语句。

hibernate5中 org.hibernate.Query 被 org.hibernate.query.Query 替代。


            </div>
  1. import java.util.List;  
  2.   
  3. import org.hibernate.Session;  
  4. import org.hibernate.SessionFactory;  
  5. import org.hibernate.Transaction;  
  6. import org.hibernate.cfg.Configuration;  
  7. import org.hibernate.query.Query;  
  8.   
  9.   
  10. import demo.entity.User;  
  11.   
  12. @Test //简单查询所有  
  13.     public void testGetUser(){  
  14.         // TODO Auto-generated method stub  
  15.         SessionFactory sf = null;  
  16.         Session session = null;  
  17.         Transaction ts = null;  
  18.   
  19.         try {  
  20.             sf = hibernateUtil.getSessionFactory();  
  21.             //用getCurrentSession创建的Session实例只属于当前线程  
  22.             session = sf.getCurrentSession();  
  23.             ts = session.beginTransaction();  
  24.             Criteria criteria = session.createCriteria(User.class);  
  25.             List users = criteria.list();  
  26.             for(int i=0;i<users.size();i++)  
  27.             {  
  28.                 User user =(User)users.get(i);  
  29.                 System.out.println(i+”–”+user.getUsername());  
  30.             }  
  31.             ts.commit();  
  32.         } catch (HibernateException e) {  
  33.             // TODO Auto-generated catch block  
  34.             if(ts != null)  
  35.             {  
  36.                 ts.rollback();  
  37.             }  
  38.             e.printStackTrace();  
  39.         }   
  40.     }  
  41. }  
import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;


import demo.entity.User;

@Test //简单查询所有
    public void testGetUser(){
        // TODO Auto-generated method stub
        SessionFactory sf = null;
        Session session = null;
        Transaction ts = null;

        try {
            sf = hibernateUtil.getSessionFactory();
            //用getCurrentSession创建的Session实例只属于当前线程
            session = sf.getCurrentSession();
            ts = session.beginTransaction();
            Criteria criteria = session.createCriteria(User.class);
            List users = criteria.list();
            for(int i=0;i<users.size();i++)
            {
                User user =(User)users.get(i);
                System.out.println(i+"--"+user.getUsername());
            }
            ts.commit();
        } catch (HibernateException e) {
            // TODO Auto-generated catch block
            if(ts != null)
            {
                ts.rollback();
            }
            e.printStackTrace();
        } 
    }
}

结果:


HQL(Hibernate Query Language)是完全面对对象的查询语句,查询功能强大,具备继承、多态和关联等特性。

Query是Hibernate的查询接口,用于从数据存储源查询对象及控制执行查询的过程,Query包装了一个HQL语句。

hibernate5中 org.hibernate.Query 被 org.hibernate.query.Query 替代。


            </div>

猜你喜欢

转载自blog.csdn.net/weixin_42158320/article/details/80520655
今日推荐