Hibernate中的查询方式:
 1,SQL(Structure Query Language): 在hibernate中允许使用原生的SQL直接查询;
   使用session.createSQLQuery来创建基于SQL的查询,查询出来的结果是装有Object[]的集合;

    @Testpublic void testSQLQuery() {Session session = BuildSesssionFactory.getSession();// SQL   普通的SQL查询语句String sql= "select * from student where age between ? and ?"SQLQuery createSQLQuery = session.createSQLQuery(sql);//设置SQL语句中的参数   此时的0,1为相对应的?的值  createSQLQuery.setParameter(0, 18);createSQLQuery.setParameter(1, 20);List<Object[]> list = createSQLQuery.list();for (Object[] objects : list) {System.out.println(Arrays.toString(objects));}}

2,HQL(Hibernate Query Language): 使用hibernate提供的面向对象的查询语句;
  - 使用session.createQuery来创建基于HQL的查询
    - HQL借鉴了SQL的语法结构,把SQL中关系模型的概念替换成面向对象的概念

    @Testpublic void testHQLQuery() {Session session = BuildSesssionFactory.getSession();// HQL 使用hibernate提供的面向对象的查询语句;         此时的Student为对象   stu.age为Student对象的属性String sql = "select stu from Student stu where stu.age between ? and ?";Query createQuery = session.createQuery(sql);createQuery.setParameter(0, 18);createQuery.setParameter(1, 20);List<Student> list = createQuery.list();for (Student student : list) {System.out.println(student);}}

3,Criteria: hibernate提供的`完全`面向对象的查询方式;

    public void testCriteriaQuery() {Session session = BuildSesssionFactory.getSession();// Criteria hibernate提供的`完全`面向对象的查询方式;Criteria createCriteria = session.createCriteria(Student.class);//设置约束条件RestrictionscreateCriteria.add(Restrictions.between("age", 18, 20));List<Student> list = createCriteria.list();for (Student student : list) {System.out.println(student);}}
}

转载于:https://www.cnblogs.com/zhang-bo/p/6628519.html

hibernate中查询方式(一):相关推荐

  1. hibernate(七) hibernate中查询方式详解

    序言 之前对hibernate中的查询总是搞混淆,不明白里面具体有哪些东西.就是因为缺少总结.在看这篇文章之前,你应该知道的是数据库的一些查询操作,多表查询等,如果不明白,可以先去看一下 MySQL数 ...

  2. hibernate中查询方式(二):常用查询

    Collection(集合) 列出所有有学生参加的项目:(项目的学生的数量大于0,则表示有学生参加) public void testCollection() throws Exception {Se ...

  3. Hibernate框架--学习笔记(下):hibernate的查询方式、多表查询、检索策略、批量抓取

    一.hibernate的查询方式: 主要有五种:对象导航查询:OID查询:hql查询:QBC查询:本地sql查询. 1.对象导航查询:根据id查询某个客户,再查询这个客户里面所有的联系人. 2.OID ...

  4. hibernate的查询方式

    hibernate的查询方式常见的主要分为三种: HQL, QBC(Query By Criteria)查询, 以及使用原生SQL查询 HQL查询 • HQL(Hibernate Query Lang ...

  5. Hibernate各种查询方法

    1 hibernate的查询方式 2 对象导航查询 3 hql查询 (1)查询所有 (2)条件查询 (3)排序查询 (4)分页查询 (5)投影查询 (6)聚集函数使用 4 qbc查询 (1)查询所有 ...

  6. JAVAWEB开发之Hibernate详解(三)——Hibernate的检索方式、抓取策略以及利用二级缓存进行优化、解决数据库事务并发问题

    Hibernate的检索方式  Hibernate提供了以下几种检索对象的方式: 导航对象图检索方式:根据已经加载的对象导航到其他对象. OID检索方式:按照对象的OID来检索对象. HQL检索方式: ...

  7. Hibernate中的QBC查询方式详解

    Hibernate中的QBC查询方式详解 QBC:Query By Criteria,条件查询. 是一种更加面向对象化的查询的方式. 1.QBC简单查询 测试代码: package com.pipi. ...

  8. Hibernate-ORM:14.Hibernate中的命名查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述命名查询,所谓命名查询是什么呢? Hibernate中允许我们在xml,实体类,甚至注解的方式来编 ...

  9. .Net转Java自学之路—Hibernate框架篇三(查询方式)

    Hibernate查询方式: 1.对象导航查询:根据id查询出一的数据,再根据一的查询结果查询多的数据. OnlyClass only=session.get(OnlyClass.class,1); ...

  10. Hibernate之HQL检索(查询)方式

    HQL(Hibernate Query Language)是面向对象的查询语言,与SQL非常相似.在Hibernate中,HQL是使用最广泛的检索方式. 具有下面经常使用功能: (1)在查询语句中,能 ...

最新文章

  1. Python 爬虫 - Instagram异步协程
  2. 为Android运行新的英特尔模拟器
  3. [Step By Step]SAP Visual Intelligence数据操作、地图信息显示(SAP HANA中提取数据)
  4. PHPstrom怎样设置浏览器
  5. atcoder A - Frog 1(DP)
  6. makefile之伪目标(6)
  7. ssh:Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open
  8. 字典树 之 hdu 1247
  9. Google 开源下一代高安全性机密运算开发框架 Asylo
  10. 计算机网络基础(二)
  11. 再也不学AJAX了!(一)AJAX概述
  12. mysql select_type
  13. laravel-admin下使用header头下载
  14. 上百种Python炫酷可视化案例珍藏版——看完掌握~一键三连~老板都想要给你升职加薪哟!
  15. matlab图像取样和量化,一文看懂数字图像的取样和量化
  16. 枸杞动态分类-大致思路
  17. 再见 Win10!再见操作系统!
  18. 【独立站运营】营销邮件被判定为垃圾邮件?四个方法教你避开
  19. EEE模式的3DES安全性分析
  20. Jetson Nano、TX2等 conda 虚拟环境中使用TensorRT、gi等

热门文章

  1. 在.net平台下,执行命令行
  2. 再谈删除数据的SQL语句
  3. MEncoder的基础用法—6.7. 媒体流复制
  4. SqlServer实现split功能
  5. 使用脚本 Nodesource快速安装nodejs环境
  6. mybatis-plus实现乐观锁
  7. 鸿蒙有什么好处,鸿蒙系统有什么好处-鸿蒙系统有什么用-鸿蒙系统有什么区别...
  8. python统计word页码_使用Python(win32com)在MS Word表中插入带页码的字段
  9. oracle数据库xsb创建,在Linux下安装oracle数据库
  10. matplotlib plot 分组_Python数据分析模块二:Matplotlib