`

QBC学习举例

阅读更多
java 代码
  1. public void testQBC() {   
  2.            
  3.            
  4. //      方法  说明    
  5. //      Restrictions.eq     =    
  6. //      Restrictions.allEq  利用Map来进行多个等于的限制    
  7. //      Restrictions.gt     >    
  8. //      Restrictions.ge     >=    
  9. //      Restrictions.lt     <   
  10. //      Restrictions.le     <=    
  11. //      Restrictions.between    BETWEEN   
  12. //      Restrictions.like   LIKE   
  13. //      Restrictions.in     in   
  14. //      Restrictions.and    and   
  15. //      Restrictions.or     or   
  16. //      Restrictions.sqlRestriction     用SQL限定查询    
  17. //介绍以下几个典型的用法,这样其他的也会用了        
  18.            
  19.            
  20.            
  21.         /*  
  22.          * 简单的加些限制条件进行搜索   
  23.          * Restrictions.eq  
  24.          */  
  25.         /* Session session = factory.openSession();  
  26.          Criteria criteria = session.createCriteria(User.class);  
  27.          Criterion criterion1 = Restrictions.eq("addr", "dalian");  
  28.          Criterion criterion2 = Restrictions.eq("name", "tie");  
  29.          criteria.add(criterion1);  
  30.          criteria.add(criterion2);  
  31.          List<user></user> users = criteria.list();  
  32.          for(User user : users){  
  33.          System.out.println(user.introduce());  
  34.          System.out.println("**********************");  
  35.          }*/  
  36.   
  37.            
  38.         /*  
  39.          * Restrictions.allEq   利用Map来进行多个等于的限制   
  40.          */  
  41.         /* Session session = factory.openSession();  
  42.          Criteria criteria = session.createCriteria(User.class);  
  43.          Map para = new HashMap();  
  44.          para.put("addr", "dalian");  
  45.          para.put("name", "tie");  
  46.          Criterion criterion1 = Restrictions.allEq(para);  
  47.          criteria.add(criterion1);  
  48.          List<user></user> users = criteria.list();  
  49.          for(User user : users){  
  50.          System.out.println(user.introduce());  
  51.          System.out.println("**********************");  
  52.          }*/  
  53.   
  54.            
  55.            
  56.         /*  
  57.          * Restrictions.sqlRestriction用SQL限定查询   
  58.          * Restrictions.sqlRestriction()这里有三个重载的方法,  
  59.          */  
  60.     /*   Session session = factory.openSession();  
  61.          Criteria criteria = session.createCriteria(User.class);  
  62. //1.     Criterion criterion1 =  
  63.          Restrictions.sqlRestriction("{alias}.name='tie' and  
  64.          {alias}.addr='dalian'");  
  65.  
  66. //2.     Criterion criterion1 = Restrictions.sqlRestriction("{alias}.name=?",  
  67.          "tie", Hibernate.STRING);  
  68.           
  69.            
  70. //3.     Object[] ob = {"tie","dalian"};  
  71.          Type[] type = {Hibernate.STRING,Hibernate.STRING};  
  72.  
  73.          Criterion criterion1 = Restrictions.sqlRestriction("{alias}.name=?  
  74.          and {alias}.addr=?", ob, type);  
  75.          criteria.add(criterion1);  
  76.          List<user></user> users = criteria.list();  
  77.          for(User user : users){  
  78.          System.out.println(user.introduce());  
  79.          System.out.println("**********************");  
  80.          }*/  
  81.   
  82.            
  83.         /*  
  84.          * 排序  
  85.          */  
  86.         /* Session session = factory.openSession();  
  87.          Criteria criteria = session.createCriteria(User.class);  
  88.          criteria.addOrder(Order.desc("age"));  
  89.          List<user></user> users = criteria.list();  
  90.          for(User user : users){  
  91.          System.out.println(user.introduce());  
  92.          System.out.println("**********************");  
  93.          }*/  
  94.   
  95.            
  96.         /*  
  97.          * 求平均数  
  98.          */  
  99.         /* Session session = factory.openSession();  
  100.          Criteria criteria = session.createCriteria(User.class);  
  101.          criteria.setProjection(Projections.avg("age"));  
  102.          List<double></double> avg_ages = criteria.list();  
  103.          for(Double avg_age : avg_ages){  
  104.          System.out.println("avg_age:"+avg_age);  
  105.          }*/  
  106.   
  107.            
  108.            
  109.         /*  
  110.          * 分组  
  111.          */  
  112.         /* Session session = factory.openSession();  
  113.          Criteria criteria = session.createCriteria(User.class);  
  114.          criteria.setProjection(Projections.groupProperty("addr"));  
  115.          List<string></string> addrs = criteria.list();  
  116.          for(String addr : addrs){  
  117.          System.out.println(addr);  
  118.          }*/  
  119.   
  120.            
  121.            
  122.         /*  
  123.          *过个的条件,同时求平均数和分组   
  124.          */  
  125.         /* Session session = factory.openSession();  
  126.          Criteria criteria = session.createCriteria(User.class);  
  127.          ProjectionList projectionList = Projections.projectionList();  
  128.          projectionList.add(Projections.groupProperty("addr"));  
  129.          projectionList.add(Projections.avg("age"));  
  130.          criteria.setProjection(projectionList);  
  131.          List avgs = criteria.list();  
  132.          for(Object[] avg : avgs){  
  133.          System.out.println(avg[0]+":"+avg[1]);  
  134.          }*/  
  135.   
  136.            
  137.         /*  
  138.          * DetachedCriteria举例  
  139.          *   
  140.          */  
  141.            
  142.     /*  DetachedCriteria detachedCriteria = DetachedCriteria  
  143.                 .forClass(User.class);  
  144.         detachedCriteria.add(Restrictions.eq("addr", "dalian"));  
  145.  
  146.         Session session = factory.openSession();  
  147.         Criteria criteria = detachedCriteria.getExecutableCriteria(session);  
  148.  
  149.         List<user></user> users = criteria.list();  
  150.         for (User user : users) {  
  151.             System.out.println(user.introduce());  
  152.             System.out.println("**********************");  
  153.         }*/  
  154.   
  155.       //  session.close();   
  156.     }  
分享到:
评论
3 楼 dtlxt 2010-09-21  
赞一个.
2 楼 happy_javaboy 2010-07-06  
1 楼 volking 2008-04-08  
不错呀...

相关推荐

    QBC的各种查询

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

    qbc表达式

    ### QBC表达式:比较运算符详解 在IT领域中,特别是数据库操作方面,QBC(Query by Criteria)是一种常用的技术手段,它提供了一种灵活的...同时,这也要求我们在实际应用中不断学习和实践,才能更好地掌握这些技巧。

    QBC查询的别名方的

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

    QBC的使用全集大全

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

    Hibernate QBC高级查询.rar

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

    Hibernate_QBC和Hibernate_QBE

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

    QBC的相关讲义和例题

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

    Hibernate QBC分页

    本篇将详细介绍如何使用Hibernate的Query By Criteria (QBC)方式进行分页查询。 首先,我们需要了解QBC的基本概念。QBC是Hibernate提供的一种基于对象的查询方式,与HQL(Hibernate Query Language)类似,但更接近...

    Hibernate(HQL、QBC查询)源码

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

    HQL与QBC的查询条件.doc

    HQL(Hibernate Query Language)和QBC(Query By Example)是Hibernate提供的两种主要的查询方式,它们提供了灵活且强大的查询能力。下面将详细阐述这两种查询方式以及它们的查询条件。 **HQL(Hibernate Query ...

    本科毕业论文—面向智能胎心监护的QBC主动学习算法设计研究+论文.pdf

    本科毕业论文—面向智能胎心监护的QBC主动学习算法设计研究 本文研究旨在解决智能胎心监护中的两个主要问题:即CTG数据不平衡和初 始样本集未经挑选、信息量不足。为解决这两个问题,本文提出了基于自适应 遗传K-...

    Hibernate_QBC案例.rar

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

    Java_Hibernate QBC条件查询对比

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

    QBC QBE查询

    QBC(Query By Example)和QBE(Query By Example)是两种在ORM(Object-Relational Mapping)框架中,特别是Hibernate中使用的查询方法。这两种查询方式都是为了简化SQL语句的编写,使得开发者能更专注于业务逻辑,...

    Hibernate-HQL-QBC-QBE

    标题中的“Hibernate-HQL-QBC-QBE”涵盖了四个重要的Java持久化框架Hibernate中的概念,分别是...在学习和使用过程中,参考官方文档、博客文章(如给出的博文链接)以及其他开发者的经验分享,都是非常有益的。

    java QBC常用方法

    ### Java QBC 常用方法详解 在Java开发中,Query by Criteria(QBC)是一种非常实用且灵活的对象查询方式,它允许开发者通过构造复杂的查询条件来获取数据库中的数据。QBC通常与Hibernate框架结合使用,为开发者...

    Hibernate实例开发 HQL 与 QBC 查询

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

    QBC主动采样学习在垃圾邮件在线过滤中的应用 (2014年)

    针对垃圾邮件在线过滤的实际应用,在委员会投票算法采样学习的基础上,提出动态提升采样门槛,在无标签样本池中阶梯式获取高信息量训练样本的方法。该方法能够在稳定识别精度的前提下,进一步降低用于标注和学习的...

Global site tag (gtag.js) - Google Analytics