首先给大家说说Hibernate检索方式

  Hibernate提供了5种检索对象的方式

     1.导航对象图检索方式:根据已经加载的对象导航到其他对象

     2.OID检索方式:按照对象的OID来检索对象

     3.HQL检索方式:使用面向对象的HQL查询语言

     4.QBC检索方式:使用QBC(Query By Criteria)API来检索对象,这种API封装了基于字符串形式的查询语句,提供了更加面向对象的查询接口

     5.本地SQL检索方式:使用本地数据库的SQL查询语句

 

Criteria查询是Hibernate提供的另一种查询方式,与HQL基于字符串的查询形式完全不同。Hibernate提供了org.hibernate.Criteria接口,org.hibernate.criterion.Critereion接口和org.hibernate.criterion.Restrictions类等Criteria API,用于支持在运行时动态生成查询语句。

一:条件查询

使用Criteria查询包括以下步骤:

1.使用Session接口的createCriteria()方法创建Criteria对象

2.使用Restrictions类提供的静态方法设置查询条件,这些静态方法返回Criterion对象,一个Criterion对象代表一个查询条件。Criteria借口的add()方法用来添加查询条件。

3.使用Criteria接口的list()方法执行查询语句,list()方法返回java.util.List类型的结果,List集合中的每个元素都是持久化对象。

实例一:使用Criteria查询所有的部门

Session session;
    Transaction tx;
    
    //单元测试前走
    @Before
    public void Before(){
        session= HibernateUtil.currentSession();        
         tx= session.beginTransaction();        
    }

    //单元测试后走
    @After
    public void After(){
        tx.commit();        
        HibernateUtil.closeSession();    
    }
    
    @SuppressWarnings("unchecked")
    @Test //使用Criteria查询所有的部门名称
    public void TestOne(){                
        Criteria criteria = session.createCriteria(Dept.class);
        List<Dept> list = criteria.list();
        for (Dept dept : list) {
            System.out.println(dept.getDeptname());
        }                            
    }
View Code

相关文章:

  • 2022-12-23
  • 2021-11-08
  • 2021-10-06
  • 2022-12-23
  • 2021-11-06
  • 2021-12-16
  • 2021-11-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
相关资源
相似解决方案