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. MySQL中视图

    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用 ...

  2. 用express快速写一个hello world

    首页要具备 node.js环境, npm环境 创建一个目录, 然后进入此目录作为工作目录 mkdir myapp cd myapp 通过npm init 创建一个package.json文件 npm ...

  3. python selenium-webdriver 标签页切换(十五)

    测试过程中有时候会遇到点击某个按钮或者链接会弹出新的窗口,这时候我们的操作的页面还保持着最初打开页面,但是此时我们需要操作新打开的页面上的功能,这个时候我们需要切换一下标签页 . 其实页面的切换与fr ...

  4. 查看Linux系统版本信息(转)

    一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/version Linux version 2.6 ...

  5. 分页-jquery.page.js插件在使用时重复触发“上一页”和“下一页”操作

    HTML代码 <!-- <div class="zxf_pagediv" id="Pagination" style="display:b ...

  6. dubbo的三种运行方式

    1.Tomcat容器内启动 pom.xml 文件中 <build> <resources> <resource> <directory>src/main ...

  7. 线程【五】VCL下的线程类

    在这里把网友常常搞不清楚的属性作用列出来: 一.FreeOnTerminate用于表明线程执行完毕后是自动释放还是保留,默认为False 二.Terminate 该过程只是简单地设置线程类的Termi ...

  8. FastDFS配置 ***

    FastDFS配置 docker pull delron/fastdfs docker run -dti --network=host --restart=always --name tracker ...

  9. Windows Remote Shell(WinRM)使用介绍

    最近,为了实验我们安装了台Windows Server Core的服务器,没有图形界面的系统总会给人一种很完全的感觉,我们本着安全到底的想法,使用了Windows Remote Shell 的管理方式 ...

  10. eclipse 修改 项目的git地址

    在项目的隐藏目录.git 文件夹下面 修改config配置文件 [core] symlinks = false repositoryformatversion = 0 filemode = false ...