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

HQL数据查询基础

难度中级
时长 1小时41分
学习人数
综合评分9.77
301人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • distinct关键字消除重复
    查看全部
  • 练习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 "; 练习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 ";
    查看全部
    0 采集 收起 来源:课程总结

    2018-03-22

  • 查询单个对象: query接口的uniqueResult方法 1.该方法的返回是实例对象而不是返回集。 2.使用uniqueResult需要在where保证只有一个返回结果或者不存在,如果有多个,则会抛出异常
    查看全部
    0 采集 收起 来源:查询单个对象

    2017-10-13

  • 四则运算 1.HQL语句中也可以使用 + - * / 四则运算 2.四则运算可以在where子句和select子句中使用
    查看全部
    0 采集 收起 来源:四则运算

    2017-10-13

  • 集合运算
    查看全部
    0 采集 收起 来源:集合运算

    2017-10-13

  • 逻辑运算符 1.and(逻辑与)、or(逻辑或) 2.not(逻辑非)
    查看全部
    0 采集 收起 来源:逻辑运算

    2017-10-13

  • null值判断 String hql = "from Commodity as c where c.description != null"; String hql = "from Commodity as c where c.description <> null"; String hql = "from Commodity as c where c.description = null";
    查看全部
    0 采集 收起 来源:null值判断运算

    2018-03-22

  • in[a,b]是否存在与a或者b相同的,存在为true between a and b 在a和b范围内的 not 取反
    查看全部
    0 采集 收起 来源:范围运算

    2017-10-13

  • 限制—where子句 1.比较运算 2.范围运算 3.字符串模式匹配 4.逻辑运算 5.集合运算 6.在HQL中使用+、-、*、/运算符 7.查询单个对象(uniqueResult方法)
    查看全部
    0 采集 收起 来源:本章内容简介

    2017-10-13

  • String hql="select distinct c.sex from Customer c"; 注:1、distinct使用时只能放在查询语句的第一个字段前面,且只对查询单个字段才有过滤效果。 2、如果查询语句中包含多个字段时,那么distinct将不再具有过滤功能,但运行也不会报错。 3、如果distinct没有放在查询语句的第一个字段前面, 或语句存在多个distinct,运行会出错。
    查看全部
  • 增加自定义构造器,一定要补充默认构造器,否则hql=" from classname" 会出错,因为在Hibernate没有指定查询返回集合的时候,Hibernate会自动去找默认构造器
    查看全部
  • 以自定义类型返回数据 1.先创建自定义构造器 例如 public Sellers(String name,String address){ this.name=name; this.address=address; } 2.在 hql中 select new Seller(s.name,s.address) from Seller s 3创建List集合 List<Seller> sellers=query.list(); for(Sellers selle:sellers){ 输出自己想要的字段(构造器中定义的) }
    查看全部
  • 以list方式返回查询结果 String hql = “select new list(s.name,s.tel,s.address)from Seller s”; Query query = session.createQuery(hql); List<List> list = query.list(); for(List list:lists){ list.get(0);//name信息 list.get(1);//tel信息 list.get(2);//address的信息 } PS:习惯那种或者那种有需求就用哪种 list和object、map没什么区别
    查看全部
  • 以Object[]形式返回选择的属性 1.select子句中未指定返回数据类型,默认为Object[] HQL的select查询语句中,如果指定了多个查询字段,则返回的是一个Object[]数组;如果只指定了一个查询字段,则返回的是一个Object对象。 e.g. public void testSelect(){ String hql="select s.name,s.tel,s.address from Seller s"; Query query=session.createQuery(hql); List<Object[]> lists=query.list(); for (Object[] list : lists) { System.out.println("name:"+list[0]); System.out.println("tel:"+list[1]); System.out.println("address"+list[2]); } } //如果是单个查询字段的话就只需要把上面的Object[]中的[]去掉,打印输出时不需要指明下标
    查看全部
  • 选择—select子句 1.以Object[]形式返回选择的属性: 2.以List形式返回选择的属性 3.以map形式返回选择的属性 4.以自定义类型返回选择的属性 5.获取独特的结果-distinct关键字
    查看全部
    0 采集 收起 来源:本章内容简介

    2017-10-13

举报

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

微信扫码,参与3人拼团

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

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