HQL数据查询(Hibernate推荐)

简介: HQL数据查询(Hibernate推荐)

HQL是Hbernate官方推荐使用的查询语句

HQL的语句形式:select...from...where..group by..having...order by...

HQL对关键字大小写不敏感,习惯上小小小写,对JAVA等属性名称大小写敏感

    ---Query的使用----

例:String hql="from Sellor";//Sellor是一个类名

   Query query=session.createQuery(hql);

   List<Sellor>  sellors=query.list();

   for循环查看数据

别名的使用

   String hql=“from Sellor  as  sellor”

或者 String hql=“from Sellor   sellor”

-----------select语句

1.以Object[]形式返回选择的属性

 默认情况下是这种形式

 String hql="select s.name, s.tel from Seller s";

 Query query=session.createQuery(hql);

 List<Object[]> lists=query.list();

 for(Object[] objs:lists){ syso(objs[0])}

 注意:如果select后面只有一个属性,将返回object类型

 

2.以List形式返回选择的属性

  String hql="select new list(s.name, s.tel) from Seller s";

 Query query=session.createQuery(hql);

 List<list> lists=query.list();

 for(List list:lists){ syso(list.get(0))}


3.以map形式返回选择的属性

  String hql="select new Map(s.name, s.tel) from Seller s";

 Query query=session.createQuery(hql);

 List<Map> maps=query.list();

 for(Map list:maps){ syso(map.get("name"))}

4以自定义类型返回选择的属性(选哪几个属性在类里面建包含这几个属性的构造器)

  String hql="select new Sellor(s.name, s.tel) from Seller s";

 Query query=session.createQuery(hql);

 List<Seller> sellers=query.list();

 for(Seller seller:sellers){ syso(  seller.getName();     )}

 

5以获取独特的结果-distinct关键字

  使用distinct关键字去除查询结果中的重复元素

String hql="select distinct s.xingbie from Seller s";

----------where 限制语句

String hql="from Commodity c where c.price>40";

String hql="from Commodity c where c.price is null";

String hql="from Commodity c where c.price in  (20,40)";

String hql="from Commodity c where c.price between 20 and 40";

字符串匹配

 1 like 关键字

 2 %  任意个字符

   _  一个字符

查询单个对象

 String hql="from Commodity c where c.price =30";

order by关键字

 String hql="from Commodity c order by  price asc";


目录
相关文章
|
3天前
|
SQL Java 数据库连接
技术经验分享:Hibernate之HQL
技术经验分享:Hibernate之HQL
|
2月前
|
SQL Java 数据库连接
Hibernate - HQL对象检索详解
Hibernate - HQL对象检索详解
34 0
|
SQL Java 数据库连接
|
Java 数据库连接 数据库
Hibernate查询语言(HQL)
Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表。 我们在HQL中使用类名,而不是表名,它是数据库独立的查询语言。
3299 0
|
Java 数据库连接 数据库
应用hibernate中的hql语句对日期的操作总结
------------------------------------------------------------------------这篇文章是我在进行hibernate查询时由于百度搜索很杂,就亲手编写并侧成功后写的 数据库中日期数据保存类型为Date Users是数据库表明,date是数据 1.
1411 0
|
SQL Java 数据库连接
HQL: The Hibernate Query Language
Chapter 14. HQL: The Hibernate Query Language 14.1. Case Sensitivity 14.2. The from clause 14.
1478 0
|
SQL 缓存 Java
hibernate的hql 语法与详细解释
HQL查询 HQL查询: Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此 Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更 加面向对象的封装。
1189 0