`
wdq
  • 浏览: 38814 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate QBC学习举例

    博客分类:
  • Java
阅读更多
public void testQBC() {    
            
            
//      方法  说明     
//      Restrictions.eq     =     
//      Restrictions.allEq  利用Map来进行多个等于的限制     
//      Restrictions.gt     >     
//      Restrictions.ge     >=     
//      Restrictions.lt     <    
//      Restrictions.le     <=     
//      Restrictions.between    BETWEEN    
//      Restrictions.like   LIKE    
//      Restrictions.in     in    
//      Restrictions.and    and    
//      Restrictions.or     or    
//      Restrictions.sqlRestriction     用SQL限定查询     
//介绍以下几个典型的用法,这样其他的也会用了         
            
            
            
       /*   
         * 简单的加些限制条件进行搜索    
         * Restrictions.eq   
         */   
        /* Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
         Criterion criterion1 = Restrictions.eq("addr", "dalian");   
         Criterion criterion2 = Restrictions.eq("name", "tie");   
         criteria.add(criterion1);   
         criteria.add(criterion2);   
         List users = criteria.list();   
        for(User user : users){   
         System.out.println(user.introduce());   
         System.out.println("**********************");   
         }*/   
   
           
        /*   
         * Restrictions.allEq   利用Map来进行多个等于的限制    
         */   
        /* Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
         Map para = new HashMap();   
         para.put("addr", "dalian");   
         para.put("name", "tie");   
         Criterion criterion1 = Restrictions.allEq(para);   
         criteria.add(criterion1);   
         List users = criteria.list();   
         for(User user : users){   
         System.out.println(user.introduce());   
         System.out.println("**********************");   
         }*/   
   
            
            
        /*   
         * Restrictions.sqlRestriction用SQL限定查询    
         * Restrictions.sqlRestriction()这里有三个重载的方法,   
         */   
    /*   Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
//1.     Criterion criterion1 =   
         Restrictions.sqlRestriction("{alias}.name='tie' and   
         {alias}.addr='dalian'");   
  
//2.     Criterion criterion1 = Restrictions.sqlRestriction("alias}.name=?",   
         "tie", Hibernate.STRING);   
           
            
//3.     Object[] ob = {"tie","dalian"};   
         Type[] type = {Hibernate.STRING,Hibernate.STRING};   
  
         Criterion criterion1 = Restrictions.sqlRestriction("{alias}.name=?   
         and {alias}.addr=?", ob, type);   
         criteria.add(criterion1);   
         List users = criteria.list();   
         for(User user : users){   
         System.out.println(user.introduce());   
         System.out.println("**********************");   
         }*/   
   
            
        /*   
         * 排序   
         */   
        /* Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
         criteria.addOrder(Order.desc("age"));   
         List users = criteria.list();   
         for(User user : users){   
         System.out.println(user.introduce());   
         System.out.println("**********************");   
         }*/   
   
            
        /*   
         * 求平均数   
         */   
        /* Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
         criteria.setProjection(Projections.avg("age"));   
         List avg_ages = criteria.list();   
         for(Double avg_age : avg_ages){   
         System.out.println("avg_age:"+avg_age);   
         }*/   
   
            
            
        /*   
         * 分组   
         */   
        /* Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
         criteria.setProjection(Projections.groupProperty("addr"));   
         List addrs = criteria.list();   
         for(String addr : addrs){   
         System.out.println(addr);   
         }*/   
   
            
            
        /*   
         *过个的条件,同时求平均数和分组    
         */   
        /* Session session = factory.openSession();   
         Criteria criteria = session.createCriteria(User.class);   
         ProjectionList projectionList = Projections.projectionList();   
         projectionList.add(Projections.groupProperty("addr"));   
         projectionList.add(Projections.avg("age"));   
         criteria.setProjection(projectionList);   
         List avgs = criteria.list();   
         for(Object[] avg : avgs){   
         System.out.println(avg[0]+":"+avg[1]);   
         }*/   
   
           
        /*   
         * DetachedCriteria举例   
         *    
         */   
            
    /*  DetachedCriteria detachedCriteria = DetachedCriteria   
                .forClass(User.class);   
        detachedCriteria.add(Restrictions.eq("addr", "dalian"));   
  
        Session session = factory.openSession();   
        Criteria criteria = detachedCriteria.getExecutableCriteria(session);   
  
        List users = criteria.list();   
        for (User user : users) {   
            System.out.println(user.introduce());   
            System.out.println("**********************");   
        }*/   
   
      //  session.close();    
    }   


本文转自 http://linweihan.iteye.com/blog/145190
分享到:
评论

相关推荐

    Hibernate QBC高级查询.rar

    通过深入学习和实践“Hibernate QBC高级查询”,开发者可以更高效、灵活地处理数据查询任务,提高代码的可读性和可维护性。提供的资源“Hibernate QBC高级查询.wps”应该包含详细的讲解和示例代码,帮助你掌握这些...

    Hibernate(HQL、QBC查询)源码

    Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码

    Java_Hibernate QBC条件查询对比

    但是,对于简单的查询,HQL的语法可能比QBC显得更冗长,学习曲线也较陡峭。 在实际开发中,如何选择QBC和HQL,往往取决于项目需求和团队成员的熟悉程度。对于那些强调快速开发、查询条件较为简单的项目,QBC可能是...

    Hibernate_QBC和Hibernate_QBE

    **标题与描述解析** 标题"Hibernate_QBC和Hibernate_QBE"提及了两个关于Hibernate的查询方式,即Query By ...通过深入学习和实践,开发者能够更好地利用Hibernate的特性,优化数据库操作,提升应用程序的性能。

    QBC_hibernate完整用法

    收录了QBC_hibernate完整用法.大家可以下载看看.作为参考.

    Hibernate QBC分页

    QBC是Hibernate提供的一种基于对象的查询方式,与HQL(Hibernate Query Language)类似,但更接近Java的API,允许我们根据对象的属性来构建查询条件。在进行分页查询时,QBC提供了`setFirstResult()`和`...

    Hibernate_QBC查询[归类].pdf

    Hibernate QBC(Query By Criteria)查询是Hibernate框架中一种面向对象的查询方式,它通过提供Criteria API使得开发者能够更方便地构建和执行SQL查询。QBC查询的优势在于它允许程序员用更加面向对象的方式处理...

    Hibernate_QBC案例.rar

    // 1.查询所有 // 2.条件查询 // 3.模糊查询 // 4.范围查询 // 5.排序查询(order by) // 6.分页查询 // 7.投影查询(只获取部分字段的结果) // 8.聚集函数使用(聚合函数)(count、sum、avg、max、min等) ...

    Hibernate学习笔记和资料

    hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置...hibernate查询方式概述,HQL查询,QBC查询,分页,结果集封装方式 ,高级查询 查询的优化,一级缓存,二级缓存,批量查询,注解方式

    Hibernate-HQL-QBC-QBE

    标题中的“Hibernate-HQL-QBC-QBE”涵盖了四个重要的Java持久化框架Hibernate中的概念,分别是Hibernate Query Language(HQL)、Query By Criteria(QBC)、Query By Example(QBE)以及相关的库文件。以下是对这些...

    Hibernate实例开发 HQL 与 QBC 查询

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库...在学习和实践中,理解并熟练掌握这两者,将极大地提升你的Hibernate开发能力。

    hibernate+spring+springmvc框架 @注解开发 详细配置注释/及hibernate的HQL/QBC/SQL查询代码使用及注释

    之前也发了一个,这个包含之前的,还添加了hibernate对数据库操作的代码(注意:controller层两个QBC/SQLTest代码不能运行,只是写出了操作数据库的除了HQL的另外2种方式)。我发现现在还是有很多公司用hibernate+...

    QBC的各种查询

    QBC,全称为Query By Criteria,是Java世界中一种基于对象的查询方式,主要用于简化Hibernate框架中的数据查询操作。QBC提供了一种面向对象的方式来构建查询条件,与SQL语句相比,它更易于理解和维护,尤其在处理...

    QBC的相关讲义和例题

    QBC的相关讲义和例题 QBC(Query By Criteria)查询方式是Hibernate提供的“更加面向对象”的一种检索方式。QBC在条件查询上比HQL查询更为灵活,而且支持运行时动态生成查询语句。

    spring-boot基于hibernate实现简单分页

    在本文中,我们将深入探讨如何使用Spring Boot与Hibernate框架实现简单的分页功能。Spring Boot以其简洁的配置和快速的应用开发而受到广泛欢迎,而Hibernate作为Java领域中的一个强大的ORM(对象关系映射)工具,...

    QBC查询的别名方的

    根据提供的文件信息,我们可以推断出此文档主要讨论了QBC(Query By Criteria)查询方法在Hibernate框架中的应用。...通过这些内容的学习,可以帮助开发人员更好地理解和运用QBC查询,提高查询效率和准确性。

    Hibernate 简单 PPT 总结

    深入QBC查询.md可能涵盖了Hibernate的Query By Criteria API,这是另一种查询数据库的方式,除了传统的HQL(Hibernate Query Language)外,开发者可以通过构建Criteria对象来执行动态查询,这种方式更接近面向对象...

    qbc表达式

    QBC是Hibernate框架提供的一个高级查询接口,允许开发者通过编程的方式构造复杂的查询条件,而不需要直接编写SQL语句。这种方式极大地提高了代码的可读性和可维护性,同时也使得查询逻辑更加灵活多变。 #### 二、...

    QBC的使用全集大全

    **QBC(Query By Example)**是Hibernate框架中的一种查询方式,它允许开发者通过实例对象来构造查询条件,提供了一种更加面向对象的查询方法。QBC查询在处理复杂的动态查询时尤其方便,因为它可以避免编写大量的SQL...

Global site tag (gtag.js) - Google Analytics