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

HQL数据查询基础

难度中级
时长 1小时41分
学习人数
综合评分9.77
301人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 不知道
    查看全部
  • 排序——order by子句

    1、使用order by子句对查询结果排序,默认使用升序排序。

    【a】升序排序——asc

    【b】降序排序——desc

    案例:查询商品价格按升序返回查询结果

    https://img1.sycdn.imooc.com//5d0775030001c3c905850304.jpg

    案例2:查询结果按价格降序返回

    https://img1.sycdn.imooc.com//5d0775d60001f3d906110294.jpg在order by子句中设置多个排序规则

    案例3:商品的返回结果按照商家的id进行升序的排序,此时如果商品的商家id一样的情况下,商品信息会默认优先显示商品id比较小的商品信息,如果商品的商家信息一致的情况下,该排序规则就无效了,第二个排序规则按照价格进行降序排序,第三个规则,如果所有商家信息id一样,价格也是一样的,此时商品信息按照名称进行升序排序,各个规则之间用逗号进行分隔。

    https://img1.sycdn.imooc.com//5d077a3900017bb407770368.jpg


    查看全部
    1 采集 收起 来源:orderby子句

    2019-06-17

  • HQL定义(Hibernate Query Language)Hibernate框架提供的查询语言,HQL是面向对象的查询语言,查询主体是映射配置的持久化类及其属性(SQL查询主体是数据库表)HQL提供了丰富灵活的查询特性,Hibernate官方推荐查询方式。



    查看全部
    1 采集 收起 来源:HQL定义

    2019-06-06

  • 使用order by 子句对查询结果排序 1.升序排序 asc(默认) 2.降序排序 desc 查询学生信息,按年龄降序排序. "from Student order by age desc" "from Student order by age desc,id asc" //当第一个条件满足不了时,采用第二个条件. HQL中不需要像SQL那样需INNER JOIN实现多表查询.因为在Hibernate中,会设置表与表之间的关联.可以从一个表中获取到另外一个表中的信息.

    查看全部
    1 采集 收起 来源:orderby子句

    2018-05-09

  • 获取独特的结果-distinct关键字 distinct关键字 消除查询过程中重复的元素 e.g. String hql="select distinct c.sex from Customer c";

    查看全部
  • 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集合中存放符合查询条件的持久化对象

    查看全部
    1 采集 收起 来源:Query接口简介

    2018-05-09

  • select子句:用来指定查询结果中的对象和属性,并指定以何种数据类型返回 (在最前面) from子句:用来指定hql语句的查询目标,即映射配置的持久化类及其属性 where子句:逻辑表达式,用来设置查询条件,限制返回结果和范围 group by子句:分组查询语句 having子句:对分组进行限制条件设置 order by子句:用来指定查询结果中的实例对象的排序 注:From子句在HQL语句中不可或缺的组成部分,一个最简单的HQL语句形式只要有from就可以了,其他的子句都可以省略,这点与SQL语句不同

    查看全部
    1 采集 收起 来源:HQL语句形式

    2018-05-09

  • 范围运算: 1.[not] in(列表)(列表既可以明确指出,也可以是子查询) 2.[not] between 值1 and 值2
    查看全部
    1 采集 收起 来源:范围运算

    2017-12-29

  • 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(){ } })
    查看全部
  • 四则运算 1.HQL语句中也可以使用+ - * / 四则运算 2.四则运算可以在where子句和select子句中使用
    查看全部
    1 采集 收起 来源:四则运算

    2017-10-24

  • 练习2 String hql = " select new list(o.customer.name,o.tradeDate,o.status,o.amount) from Order o where o.tradeDate between '2015-05-01' and '2015-06-01' and o.status='已发货' or o.status='已付款' and o.amount>1000 order by o.status asc,o.tradeDate desc,o.amount desc ";
    查看全部
    1 采集 收起 来源:课程总结

    2018-03-22

  • 练习1 String hql = " select new list(c.name,c.price,c.seller.name,c.category) from Commodity c where c.category like '%书%' and c.price>=10 order by c.seller.name asc,c.price desc,c.name asc ";
    查看全部
    1 采集 收起 来源:课程总结

    2018-03-22

  • 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(){ } })
    查看全部
  • *****HQL语句形式******* select子句:用来指定查询结果中的对象和属性,并指定以何种数据类型返回 (在最前面) from子句:用来指定hql语句的查询目标,即映射配置的持久化类及其属性 where子句:逻辑表达式,用来设置查询条件,限制返回结果和范围 group by子句:分组查询语句 having子句:对分组进行限制条件设置 order by子句:用来指定查询结果中的实例对象的排序 注:From子句在HQL语句中不可或缺的组成部分,一个最简单的HQL语句形式只要有from就可以了,其他的子句都可以省略,这点与SQL语句不同
    查看全部
    1 采集 收起 来源:HQL语句形式

    2017-04-05

  • 课程总结:
    查看全部
    1 采集 收起 来源:课程总结

    2017-03-05

举报

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

微信扫码,参与3人拼团

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

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