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. 普林斯顿数学指南(第一卷) (Timothy Gowers 著)

    第I部分 引论 I.1 数学是做什么的 I.2 数学的语言和语法 I.3 一些基本的数学定义 I.4 数学研究的一般目的 第II部分 现代数学的起源 II.1 从数到数系 II.2 几何学 II.3 ...

  2. javascript UI lib

    react 现在已经有JS,android,IOS版本的了 react作为View层的库,结合Flux react native Angular 是 MVVM, React 是 Flux(或者 MVC ...

  3. nginx 镜像使用说明

    nginx 镜像说明 目录 说明 /etc/nginx nginx安装目录 /usr/share/nginx/html nginx网站资源存放的目录 运行nginx容器,相关命令: 命令 说明 doc ...

  4. Webpack 的 Tree Shaking

    为什么要使用 Tree Shaking? 当从某文件模块中导出(某一个或几个变量.函数.对象等),然而这个文件模块还有许多其它(我们这次并不需要)的导出,webpack会不管三七二十一简单粗暴的将整个 ...

  5. react-router 从 v3 版本升到 v4 版本,升级小记

    react-router v4 跟 react 一样拆成了两部分,核心的 react-router 和依运行环境而定的 react-router-dom 或 react-router-native(跟 ...

  6. mysql 不允许分组的问题

    异常信息:this is incompatible with sql_mode=only_full_group_by 解决办法: 找到  my.cnf  find / -name my.cnf 然后在 ...

  7. RSA 加密算法 Java 公钥加密私钥解密 和 私钥加密公钥解密 的特点

    package com.smt.cipher.unsymmetry; import org.apache.commons.codec.binary.Base64; import org.apache. ...

  8. PyCharm中的Console自动换行

    菜单栏-> File -> Settings -> Editor -> General -> Console,选中右侧Use soft wraps in console前 ...

  9. 《Windows核心编程》第3章——深入理解handle

    本文借助windbg来理解程序中的函数如何使用handle对句柄表进行查询的.所以先要开启Win7下Windbg的内和调试功能. 解决win7下内核调试的问题 win7下debug默认无法进行内核调试 ...

  10. windows10中git-bash闪退的解决办法

    windows10中git-bash闪退的解决办法 出现错误详情 Windows10 64位专业版安装git .18之后出现 Git闪退,报错信息:bash: /dev/null: No such d ...