QBC查询:

  Query By Criteria

  使用面向对象的方式查询

  和HQL单表查询相似,但不包含别名查询和具名查询

   1 全表查询

   Criteria ce = session.createCriteria(Customer.class);
  List<Customer> list = ce.list();
  
  for(Customer customer : list) {
    System.out.println(customer);
  }

  2 条件查询

  Criteria ce = session.createCriteria(Order.class);
  ce.add(Restrictions.eq("orderno", "111"));
List<Order> list = ce.list();   Criteria ce = session.createCriteria(Order.class);
  ce.add(Restrictions.and(
    Restrictions.like("orderno", "%111%"),
    Restrictions.like("productName", "%手机%")
  ));
   
  List<Order> list = ce.list();

 3 分页查询

   Criteria ce = session.createCriteria(Order.class);
 
//分页
  ce.setFirstResult(0);
  ce.setMaxResults(5);
  
  List<Order> list = ce.list();

  4 查询排序

  Criteria ce = session.createCriteria(Order.class);

  ce.addOrder(org.hibernate.criterion.Order.desc("id"));

  List<Order> list = ce.list();

  5 聚合查询

  Criteria ce = session.createCriteria(Order.class);

  /*ce.setProjection(Projections.rowCount());
  Long count = (Long)ce.uniqueResult();*/   ce.setProjection(Projections.max("id"));
  Integer count = (Integer)ce.uniqueResult();   System.out.println(count);

  6 投影查询

   Criteria ce = session.createCriteria(Order.class);
    
  ProjectionList pList = Projections.projectionList();
  pList.add(Property.forName("orderno"));
  pList.add(Property.forName("productName"));
  ce.setProjection(pList);
  List<Object[]> list = ce.list();   for(Object[] order : list) {
     for(Object column : order) {
        System.out.print(column);
        System.out.print(" ");
     }
    System.out.println();
  }

Hibernate QBC的更多相关文章

  1. Hibernate QBC 简单收集

    Hibernate QBC 介绍: QBC(Query By Criteria)通过 API 来检索对象 主要由 Criteria 接口.Criterion 接口和 Exception 类组成,支持在 ...

  2. Hibernate QBC运算符

    HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <> Restrictions.ne() 不等于not   equal > Restrict ...

  3. Hibernate QBC 条件查询(Criteria Queries) and Demos

    目录 创建一个Criteria 实例 限制结果集内容 结果集排序 关联 动态关联抓取 查询示例 投影Projections聚合aggregation和分组grouping 离线detached查询和子 ...

  4. hibernate QBC查询

    HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <>  Restrictions.ne() 不等于not equal >  Restrict ...

  5. 【Hibernate QBC】

    HibernateQBC public class HibernateQBC { //演示离线查询 @Test public void testSelect6() { SessionFactory s ...

  6. Spring Data Jpa 初探

    Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问计数,包括非关系数据库.Map-Reduce 框架.云数据服务等等;另外也包含对关系数据库的访问支持. 下载网址: ...

  7. jeecg使用心得

    接触到jeecg框架是在去年,接触到了jeecg开源框架,此框架为企业级急速开发框架,不了解的可以百度下这类框架的,对于目前状态来说,此框架确实也满足了所需,此刻就开始接触jeecg框架,去年六七月份 ...

  8. JEECG开发第一个菜单显示设备列表

    一.新建设备表(t_base_device) ; -- ---------------------------- -- Table structure for t_base_device -- --- ...

  9. Hibernate 查询方式(HQL/QBC/QBE)汇总

    作为老牌的 ORM 框架,Hibernate 在推动数据库持久化层所做出的贡献有目共睹. 它所提供的数据查询方式也越来越丰富,从 SQL 到自创的 HQL,再到面向对象的标准化查询. 虽然查询方式有点 ...

随机推荐

  1. RTMP、RTSP、HTTP可用的地址

    香港卫视:  rtmp://live.hkstv.hk.lxdns.com/live/hks1 香港财经,rtmp://202.69.69.180:443/webcast/bshdlive-pc 韩国 ...

  2. ML(3)——线性回归

    在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性 ...

  3. ML(1)——机器学习简述

    简述 机器学习是人工智能的一种实现方式:深度学习是一种实现机器学习的技术,或者说是一种特殊的机器学习方法,可以说广义上的机器学习也包括了深度学习,三者的关系如下图所示: 从判别垃圾邮件到无人驾驶技术, ...

  4. How tbb proxy works

  5. gaea-basic-components 知识点

    github:https://github.com/ascoders/gaea-basic-components

  6. python通过xlwt模块直接在网页上生成excel文件并下载

    urls: from django.conf.urls import url, include from . import views urlpatterns = [ ... url(r'^domai ...

  7. 朴素贝叶斯文本分类(python代码实现)

    朴素贝叶斯(naive bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法. 优点:在数据较少的情况下仍然有效,可以处理多分类问题. 缺点:对入输入数据的准备方式较为敏感. 使用数据类型:标称 ...

  8. centos7编译安装php7.2

    去官网下载php7.2安装包,选择一个结点下载:http://php.net/downloads.php 下载:wget -ivh http://cn.php.net/distributions/ph ...

  9. chrome自定义ua(批处理文件方式)

    新建bat文件,输入如下代码: @echo off start chrome.exe --user-agent="你自定义的ua字符串" EXIT 保存后运行bat文件. 这个时候 ...

  10. yum 和 rpm安装mysql彻底删除(转)

    1.yum方式安装的MySQL $ yum remove mysql mysql-server mysql-libs compat-mysql51 $ rm -rf /var/lib/mysq $ r ...