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

HQL数据查询基础

难度中级
时长 1小时41分
学习人数
综合评分9.77
301人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 集合运算: 1、is [not] empty,集合【不】为空,不包含任何元素;对应SQL的exists运算 2、member of 元素属于集合 ;对应SQL的in运算
    查看全部
    0 采集 收起 来源:集合运算

    2016-11-18

  • 逻辑运算符 1.and(逻辑与)、or(逻辑或) 2.not(逻辑非) 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 '%电脑%'";
    查看全部
    1 采集 收起 来源:逻辑运算

    2018-03-22

  • 字符串模式匹配: 1.like 关键字("from Commodity c where c.category like '%电%'") 2.通配符:% 匹配任意个字符,_ 匹配一个字符
    查看全部
  • //寻找价格(不)是4000或5000的商品 String hql="from Commodity c where c.price (not) in (5000,4000)"; //寻找价格(不在)在200到4000的商品 String hql1="from Commodity c where c.price (not) between 200 and 4000";
    查看全部
    2 采集 收起 来源:范围运算

    2018-03-22

  • HQL中可以使用 = null效果等同于is null;不等于null <>null
    查看全部
    0 采集 收起 来源:null值判断运算

    2018-03-22

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

    2016-11-18

  • //distinct的使用 select distinct s.star from Seller s 使用distinct去除s.star中的重复元素
    查看全部
  • 增加自定义构造器,一定要补充默认构造器,否则hql=" from classname" 会出错,因为,在Hibernate没有指定的查询的放回集合时候,Hibernate会自动去找默认构造器
    查看全部
  • 以自定义类型返回数据 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()); }
    查看全部
  • //通过Map返回查询结果 String hql="select new Map(s.name as name,s.tel as tel,s.address as address) from Seller s"; Query query=session.createQuery(hql); List<Map> maps=query.list(); for (Map map : maps) { System.out.println("--------------------------"); System.out.println("name:"+map.get("name")); System.out.println("tel:"+map.get("tel")); System.out.println("address:"+map.get("address")); }
    查看全部
  • //以list方式返回查询结果 String hql="select new list(s.name,s.tel,s.address) from Seller s"; Query query=session.createQuery(hql); List<List> lists=query.list(); for (List list : lists) { System.out.println("-------------------------"); System.out.println("name:"+list.get(0)); System.out.println("tel:"+list.get(1)); System.out.println("address:"+list.get(2)); }
    查看全部
  • hql中查询一个字段 返回的是List<Object>对象,查询多个字段返回的是List<Object[]>,查询所有字段返回的是List<实体类>对象,建议多使用别名来区分不同表中的相同字段 String hql="select s.name,s.tel,s.address,s.star from Seller s "; Query query=session.createQuery(hql); List<Object[]> list=query.list(); for (Object[] objects : list) { System.out.println(" name : "+objects[0]); System.out.println(" tel : "+objects[1]); System.out.println(" address : "+objects[2]); System.out.println(" star : "+objects[3]); System.out.println(""); }
    查看全部
  • 选择-select子句 1.以Object[]形式返回选择的属性: 注意:hql的select查询语句中,如果指定了多个查询字段,则返回的是一个Object[]数组,然而如果只指定了一个查询字段,则返回的是一个Object对象。 String hql = "select s.name,s.tel,s.address from Seller s"; Query query = session.createQuery(hql); List<Object[]> sellers = query.list(); for(Object[] objs:sellers){ System.out.println("name:"+objs[0]); System.out.println("tel:"+objs[1]); System.out.println("address:"+objs[2]); }(如果是单个查询字段的话就只需要把上面的Object[]中的[]去掉,打印输出时不需要指明下标) 2.以List形式返回选择的属性 String hql = "select new list(s.name,s.tel,s.address) from Seller s"; 3.以map形式返回选择的属性 注意:key为索引值,是字符串类型(map.get("0")),使用Map集合时考虑使用别名获取属性信息 String hql = "select new map(s.name,s.tel,s.address) from Seller s"; 4.以自定义类型返回选择的属性 (1)持久化类中定义对应的构造器 (2)select子句中调用定义的构造器 注意:默认构造器是需要的,因为,在Hibernate没有指定的查询的放回集合时候,Hibernate会自动去找默认构造器,如果不存在,则会出现异常 String hql = "select new Seller(s.name,s.tel,s.address) from Seller s"; 5.获取独特的结果-distinct关键字 distinct关键字 消除查询过程中重复的元素 String hql = "select distinct s.sex from Seller s";
    查看全部
    1 采集 收起 来源:本章内容简介

    2018-03-22

  • from子句中别名的引用: 1.为被查询的类指定别名 2.在HQL语句其他部分通过别名引用该类 3.别名命名习惯,参考Java变量的命名习惯 为类指定别名:from Seller as s/from Seller s,要保留代码的可读性 from子句中别名的应用 1.为被查询的类指定别名 2.在HQL语句其他部分通过别名引用该类 3.别名命名习惯 from Seller 别名:seller 单字母:s
    查看全部
  • HQL的持久化的引用过程中,直接引用类名即可(当然也可用全限定名),因为Hibernate通过映射,会自动导入缺省的权限类名
    查看全部

举报

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

微信扫码,参与3人拼团

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

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