为了账号安全,请及时绑定邮箱和手机立即绑定

HQL数据查询基础

难度中级
时长 1小时41分
学习人数
综合评分9.77
301人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • rom子句中别名的引用: 1.为被查询的类指定别名 2.在HQL语句其他部分通过别名引用该类 3.别名命名习惯,参考Java变量的命名习惯 为类指定别名:from Seller as s/from Seller s,要保留代码的可读性 from子句中别名的应用 1.为被查询的类指定别名 2.在HQL语句其他部分通过别名引用该类 3.别名命名习惯 from Seller 别名:seller 单字母:s
    查看全部
  • from子句中持久化类的引用: 1、不需要引入持久化类的全限定名(如from com.imooc.model.Seller),直接引入类名(from Seller)即可 2、我们知道在java环境中一定要指明全限定名,这样java环境才知道去获取这个类,而HQL语句中之所以可以省略,是因为auto-import自动引入缺省情况。hibernate框架中,在解析HQL语句时,会根据映射配置信息自动完成持久化类的导入,这样的方式更加方便,也更加符合程序员的编程习惯。 3、在from子句中全限定名的引用与直接引入类名是一样,并不会报错!
    查看全部
  • from子句是HQL语句的最简形式 from指定了HQL语句查询主体-持久化类及其属性 当编写的HQL中只有from子句,默认Hibernate框架会查询该持久化类的所有实例以及属性. from也可以实现一个与其他表有关联的表的查询.(不是多表查询,属于单表) 即A类中存在一个B类类型的变量,并且用到此B类对象,那么通过from直接获取A类的持久化对象时,同时也能获取到此A类持久化对象所包含的B类的持久化对象信息. 因为Hibernate在查询到A类持久化对象的时候后,会立刻根据外键查询此A类持久化对象所包含的B类的持久化对象信息. (如果用到此B类的持久化对象的话,Hibernate才会立刻根据外键去查询此A类持久化对象所包含的B类的持久化对象信息,如果没有用到,那么Hibernate不会根据外键去查询此B类的持久化对象信息)
    查看全部
  • 查询对象--from子句 1.from子句 2.from子句中持久化类的引用 3.别名的使用
    查看全部
    0 采集 收起 来源:本章内容简介

    2017-04-05

  • HQL语句中可以直接使用"from 类名"就可以查询到此类对应数据库表中的所有信息.不需要像sql那样"select*from 表名",直接"form 类名"即可. list()方法返回的是HQL语句所查询的类的持久化对象的集合.所以一般定义一个带泛型的List集合来存储. Query query=session.createQuery("from Student"); List<Student> list=query.list(); for(List l:list){ System.out.println(l); } 注意:HQL是面向对象的查询,查询的是类,不像sql一样,直接查询表.因此在from 后面加的是类名(注意大小写).list()方法会根据查询的类名然后去映射文件中找到相应的数据库表,此时便把HQL语句解析成sql语句.再查询到相应的记录,最后返回记录的持久化对象的集合. 对于Hiberante5.2.4,query.list()方法已经弃用: public class SelletTest { private Session session; private Transaction transaction; @Before public void setUp() { session = HibernateSessionFactory.openSession(); transaction=session.beginTransaction(); } @Test public void selletTest() { String hql = "from Seller"; Query query = session.createQuery(hql, Seller.class); // 注:hibernate5.2.4已经弃用了query.list()方法 List<Seller> sellers = query.getResultList(); for (Seller seller : sellers) { System.out.println(seller); } } @After public void destroy(){ } })
    查看全部
  • ***重点**Query接口简介***重点*** 1.org.hibernate.Query接口定义有执行查询的方法(该方法完成HQL语句的解析与执行过程,并返回查询的结果。就像SQL语句没有jdbc接口,它也就是普通的字符串变量,HQL语句也一样,编写好的HQL语句也就是一个普通的字符串变量,而hibernate框架就负责解析HQL语句,然后根据配置信息生成相应的SQL语句来执行数据库的查询操作,那么完成这个过程依靠的就是Query接口); 2.Query接口支持方法链编程风格,使得程序代码更为简洁(方法链编程:调用方法后,返回的结果依然是调用这个方法的对象,可以在调用方法后直接调用该对象的其他方法,这样可以使用一个程序语句完成多个方法的调用与执行。在Query接口中,方法链编程使用最多的场景是查询参数的动态设置,特别是多个参数的设置) 3.Query实例的创建: a.Session的createQuery()方法创建Query实例 b.createQuery方在调用时需要传递一个参数(即要查询的HQL语句),createQuery(hql) 4.Query执行查询 a.Query接口的list()方法执行HQL查询 b.list()方法返回结果数据类型为java.util.List,List集合中存放符合查询条件的持久化对象
    查看全部
    0 采集 收起 来源:Query接口简介

    2017-04-05

  • 准备查询 1.org.hibernate.Query接口 2.Query实例的创建 3.执行查询
    查看全部
    0 采集 收起 来源:本章内容简介

    2017-04-05

  • **********初学HQL注意的问题*********** 1、HQL是面向对象的查询语言,其查询主体是持久化类及其属性,而SQL查询主体是数据库表与表的字段;HQL对Java类与属性大小写不敏感、SQL语句对大小写敏感; 2、HQL与SQL在形式上非常相似,特别是HQL在设计上尽量符合之前SQL开发人员的开发习惯,在使用上非常容易与SQL混淆,但是我们不能被表象所迷惑,要认清本质; 3、HQL对关键字不区分大小写,比如之前提到的几个SQL子句其中的关键字,from,where,group by,having,order by...等,只要拼写正确,大小写并不重要,但是为了代码的可读性与美观性,习惯上对HQL的所有关键字小写
    查看全部
  • *****HQL语句形式******* select子句:用来指定查询结果中的对象和属性,并指定以何种数据类型返回 (在最前面) from子句:用来指定hql语句的查询目标,即映射配置的持久化类及其属性 where子句:逻辑表达式,用来设置查询条件,限制返回结果和范围 group by子句:分组查询语句 having子句:对分组进行限制条件设置 order by子句:用来指定查询结果中的实例对象的排序 注:From子句在HQL语句中不可或缺的组成部分,一个最简单的HQL语句形式只要有from就可以了,其他的子句都可以省略,这点与SQL语句不同
    查看全部
    1 采集 收起 来源:HQL语句形式

    2017-04-05

  • HQL定义: 1、HQL:Hibernate Query Lauguage,Hibernate查询语言; 2、HQL是面向对象的查询语言(即以面向对象的角度进行查询),它查询的主体是映射配置的持久化类及其属性,与SQL查询主体是数据库表是完全不同的,除此之外,从数据库查询方面的功能上来讲,SQL能实现的数据库查询功能,HQL几乎可以同样实现。实际上作为一个ORM对象关系映射框架,Hibernate框架会将编写好的HQL语句解析成SQL语句来完成最终的数据库查询操作。 3、HQL提供了丰富灵活的查询特性,是Hibernate官方推荐查询方式。
    查看全部
    0 采集 收起 来源:HQL定义

    2017-04-05

  • 了解HQL 1.HQL定义 2.HQL语句形式 3.初学HQL注意的问题
    查看全部
    0 采集 收起 来源:本章内容简介

    2017-04-05

  • 学习目标: 1、了解HQL定义以及HQL语句形式; 2、掌握Query对象的使用; 3、能够编写出符合数据查询要求的HQL语句
    查看全部
  • HQL数据查询基础: 本课程包含如下内容 1、了解HQL-->对HQL语句有初步认识与几个HQL语句需要注意的问题; 2、准备查询:如何使用框架提供的Query接口来执行HQL语句查询,这里只介绍基本的HQL查询的使用 3、查询子句: from子句--->指定检索的持久化对象 select子句-->选择指定属性来进行HQL查询 where子句-->限制HQL语句的查询范围,获得需要的对象列表 order by子句-->对查询结果排序
    查看全部
  • 范围运算 1.[not] in (列表) 【列表:具体值or子查询】 属性值存在就为true,反之为false 例子:String sql = "from Customer c where c.age in(20,40)"; 返回:即返回年龄为20和40的对象。 2.[not] between 值1 and 值2 属性值在值1和值2之间就返回true, 属性值在两者之外就返回false 例子3:String sql = "from Customer c where c.age between 20 and 40"; 返回:返回年龄为在20 - 40之间的对象。
    查看全部
    0 采集 收起 来源:范围运算

    2018-03-22

  • 1.先创建自定义构造器 例如 public Sellers(String name,String address){ this.name=name; this.address=address; } 2.通过自定义类型返回查询结果 String hql="select new Seller(s.name,s.tel,s.address)from Seller s"; Query query=session.createQuery(hql); List<Seller> lists=query.list(); for (Seller seller : lists) { System.out.println("-----------------------------"); System.out.println("name"+seller.getName()); System.out.println("tel"+seller.getTel()); System.out.println("address"+seller.getAddress()); }
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Hibernate进阶课程,需要小伙伴们了解Hibernate映射配置知识点,对这方面内容不了解的小伙伴们可以先去《 Hibernate初探之单表映射》进修一下~~
老师告诉你能学到什么?
1、什么是HQL,以及HQL的语句形式。 2、在Hibernate框架中如何执行HQL查询。 3、如何编写出正确的HQL查询语句,从数据库检索到我们想要的数据。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!