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

HQL数据查询基础

难度中级
时长 1小时41分
学习人数
综合评分9.77
301人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 订单明细表(OrderItem)

    查看全部
  • 订单表(OrderForm)

    查看全部
  • 商品表Commodity

    查看全部
  • 客户表customer

    查看全部
  • 商家表Seller

    查看全部
  • 示例数据库表关系

    查看全部
  • 1、distinct使用时只能放在查询语句的第一个字段前面,且只对查询单个字段才有过滤效果。
    2、如果查询语句中包含多个字段时,那么distinct将不再具有过滤功能,但运行也不会报错。
    3、如果distinct没有放在查询语句的第一个字段前面, 或语句存在多个distinct,运行会出错

    查看全部
  • select...from...where...group by ... order by...

    查看全部
  • 使用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

  • 查询单个对象 在Query接口中定义了uniqueResult()方法.这个方法的返回结果只存在一个实例对象.而不是像list()方法那样,返回List集合形式. 使用uniqueResult()方法要注意where子句条件的设置,要保证符合查询条件的实例对象仅有一个,或者不存在. 如果查询条件设置不当,查询返回的实例对象多于一个,那么就会抛出一个异常,终止运行. Query query=session.createQuery("from Student where sname='张三' "); Student s=(Student)query.uniqueResult(); System.out.println("name"+s.getName()); 用list()方法则是list()方法把HQL语句解析成SQL语句. 用uniqueResult()方法则是uniqueResult()方法把HQL语句解析成SQL语句. 也可以说是Query接口把HQL语句解析成SQL语句.

    查看全部
    0 采集 收起 来源:查询单个对象

    2018-05-09

  • 四则运算 1.HQL语句中也可以使用 + - * / 四则运算 2.四则运算可以在where子句和select子句中使用

    查看全部
    0 采集 收起 来源:四则运算

    2018-05-09

  • 集合运算是HQL语句提供的一种特殊的运算符.可用在一对多、多对一等关联中. 1.is empty :集合为空,不含任何元素 2.member of:元素属于集合 HQL语句的empty解释成sql语句的exists. HQL语句的member of解释成sql语句的in. "from Grade where Grade.set is not empty" //查询的是存在学生的班级的班级信息. "from Student where Student.grade member of (from Grade where cid=1)" //查询id编号为1的班级的学生信息.

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

    2018-05-09

  • 逻辑运算符 1.and(逻辑与)、or(逻辑或) 2.not(逻辑非) e.g.  String hql="from Commodity c where c.price between 100 and 4000 and c.category like '%电脑%'";  String hql1="from Commodity c where c.price between 100 and 4000 or c.category like '%电脑%'";

    查看全部
    0 采集 收起 来源:逻辑运算

    2018-05-09

  • 字符串模式匹配 1.like 关键字 2.通配符:% 匹配任意个字符,_ 匹配一个字符 e.g. "from Customer c where c.name like '%张%'

    查看全部
  • 范围运算 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 例子1:String sql = "from Customer c where c.age in(20,40)"; 返回:返回年龄为20,年龄为40的信息 例子2:String sql = "from Customer c where c.age not in(20,40)"; 返回:返回年龄不为20,年龄不为40的信息 例子3:String sql = "from Customer c where c.age between 20 and 40"; 返回:年龄为20 - 40之间的信息

    查看全部
    0 采集 收起 来源:范围运算

    2018-05-09

举报

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

微信扫码,参与3人拼团

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

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