`
tanzhen-1988
  • 浏览: 52678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate之HQL总结(转)

阅读更多

1. 查询整个映射对象所有字段

 

Java代码 

//直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段      

        String hql = "from Users";      

        Query query = session.createQuery(hql);      

              

        List<Users> users = query.list();      

        for(Users user : users){      

            System.out.println(user.getName() + " : " + user.getPasswd() + " : " + user.getId());      

        }      

     

 输出结果为:      

name1 : password1 : 1     

name2 : password2 : 2     

name3 : password3 : 3    

[java] view plaincopy

//直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段     

        String hql = "from Users";     

        Query query = session.createQuery(hql);     

             

        List<Users> users = query.list();     

        for(Users user : users){     

            System.out.println(user.getName() + " : " + user.getPasswd() + " : " + user.getId());     

        }     

    

 输出结果为:     

name1 : password1 : 1    

name2 : password2 : 2    

name3 : password3 : 3    

 

 

2.查询单个字段 

 

Java代码 

//查询单个字段      

        String hql = " select name from Users";      

        Query query = session.createQuery(hql);      

              

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

        for(String str : list){      

            System.out.println(str);      

        }      

输出结果为:      

name1      

name2      

name3    

[java] view plaincopy

//查询单个字段     

        String hql = " select name from Users";     

        Query query = session.createQuery(hql);     

             

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

        for(String str : list){     

            System.out.println(str);     

        }     

输出结果为:     

name1     

name2     

name3    

 

 

3.查询其中几个字段 

 

 

Java代码 

//查询其中几个字段      

        String hql = " select name,passwd from Users";      

        Query query = session.createQuery(hql);      

        //默认查询出来的list里存放的是一个Object数组      

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

        for(Object[] object : list){      

            String name = (String)object[0];      

            String passwd = (String)object[1];      

                  

            System.out.println(name + " : " + passwd);      

        }      

输出结果为:      

name1 : password1      

name2 : password2      

name3 : password3    

[java] view plaincopy

//查询其中几个字段     

        String hql = " select name,passwd from Users";     

        Query query = session.createQuery(hql);     

        //默认查询出来的list里存放的是一个Object数组     

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

        for(Object[] object : list){     

            String name = (String)object[0];     

            String passwd = (String)object[1];     

                 

            System.out.println(name + " : " + passwd);     

        }     

输出结果为:     

name1 : password1     

name2 : password2     

name3 : password3    

 

 

4.修改默认查询结果(query.list())不以Object[]数组形式返回,以List形式返回

 

Java代码 

 

 

 

 

//查询其中几个字段,添加new list(),注意list里的l是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是List集合了   

        String hql = " select new list(name,passwd) from Users";   

        Query query = session.createQuery(hql);   

        //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是List集合了   

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

        for(List user : list){   

            String name = (String)user.get(0);   

            String passwd = (String)user.get(1);   

               

            System.out.println(name + " : " + passwd);   

        }   

        /**  

        输出结果为:  

         name1 : password1  

        name2 : password2  

        name3 : password3  

         */ 

 

5.修改默认查询结果(query.list())不以Object[]数组形式返回,以Map形式返回

 

Java代码 

//查询其中几个字段,添加new map(),注意map里的m是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是map集合了      

        String hql = " select new map(name,passwd) from Users";      

        Query query = session.createQuery(hql);      

        //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是Map集合了      

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

        for(Map user : list){      

            //一条记录里所有的字段值都是map里的一个元素,key是字符串0,1,2,3....,value是字段值      

            //如果将hql改为:String hql 

分享到:
评论

相关推荐

    weblogic12 下 org.hibernate.hql.ast.HqlToken

    ### WebLogic 12下org.hibernate.hql.ast.HqlToken冲突解决方案 在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关...

    Hibernate hql查询语法总结

    本文将对Hibernate HQL查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个方面。 1. 基础查询: 基础查询是最简单的HQL语句,用于获取所有`Student`对象。例如: ```java from Student ``` ...

    Hibernate-HQL语句多对多写法

    "Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象...总结来说,Hibernate 的 HQL 语言提供了强大的查询功能,可以方便地检索和操作数据,特别是在多对多关系的情况下。

    hibernateHQL关联查询

    其中,HQL(Hibernate Query Language)作为Hibernate提供的查询语言之一,允许开发者以接近面向对象的方式编写查询语句。本文将重点介绍Hibernate中的关联查询,并深入探讨HQL关联查询的实现原理及应用场景。 ####...

    hibernate 查询?Hibernate的HQL查询

    总结,Hibernate的HQL查询为开发者提供了强大且灵活的数据检索方式,使得在Java应用中操作数据库变得更加简单,同时提高了代码的可读性和可维护性。在实际开发中,熟练掌握HQL能极大地提升工作效率,特别是在处理...

    Hibernate_HQL大全

    ### Hibernate_HQL大全详解 #### 一、HQL概述 HQL,即Hibernate Query Language,是一种强大且面向对象的查询语言,由Hibernate框架提供。尽管HQL的语法结构与SQL相似,但其设计理念完全不同,HQL是专门为面向对象...

    Hibernate数据检索(HQL)笔记

    ### Hibernate数据检索(HQL)知识点详解 #### 一、简介 Hibernate 是一款开源的对象关系映射(ORM)框架,它允许开发人员将 Java 对象映射到数据库表中的记录,从而极大地简化了数据访问层的开发工作。本文档基于...

    Hibernate知识点总结

    ### Hibernate知识点总结 #### 一、Hibernate概述 Hibernate是一个开源的ORM(Object Relational Mapping,对象关系映射)框架,用于Java应用与关系型数据库之间的交互。它通过使用描述对象和数据库之间映射的元...

    Hibernate HQL查询语句总结.docx

    Hibernate HQL 查询语句总结 Hibernate HQL 查询语句是 Hibernate 框架中的一种查询语言,它提供了更加丰富的和灵活的查询特性,具有类似标准 SQL 语句的查询方式,同时也提供了更加面向对象的封装。以下是 ...

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query ...总结起来,HQL提供了强大的查询功能,能够满足大多数业务需求。通过合理使用HQL的各种特性,可以编写出高效且易于维护的查询语句。

    Hibernate HQL.txt

    总结来说,Hibernate HQL提供了一种强大的工具,让开发人员能够以面向对象的方式进行数据库查询,从而提高开发效率并简化代码结构。通过本文的介绍,希望能够帮助读者更好地理解和掌握HQL的基本概念及用法。

    hibernateHQL基本查询

    ### Hibernate HQL 基本查询详解 #### 一、HQL 概述 HQL (Hibernate Query Language) 是一种面向对象的查询语言,由 Hibernate 官方提供,用于简化数据库查询过程。与传统的 JDBC 方式相比,使用 HQL 进行数据库...

    hibernate hql基本操作

    HQL是Hibernate的核心特性之一,提供了强大的面向对象查询能力。通过理解HQL的基本语法和特点,开发者可以有效地利用Hibernate来处理复杂的数据库操作,提高开发效率和代码质量。在实际应用中,合理运用FROM子句、...

    Hibernate连表查询 Hibernate连表查询

    这里使用了HQL(Hibernate Query Language)来执行查询。例如,在`getProductsMenuSub`方法中,通过以下HQL语句实现了连表查询: ```java String queryString = "select a.productsName from TopProducts as a, ...

    HQL是hibernate自己的一套查询

    根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...

    Hibernate 简单 PPT 总结

    【Hibernate 简单 PPT 总结】 Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。通过提供一套API和元数据,Hibernate允许开发者将业务对象直接映射到数据库表,从而避免了...

    hibernate hql各类查询范例

    以上内容涉及了使用 HQL 和 DetachedCriteria 进行查询、参数化查询、执行更新操作以及简单的统计查询等常见的 Hibernate 操作。这些知识点对于理解和掌握 Hibernate 框架的基本使用至关重要,同时也是开发基于 ...

    Hibernate HQL查询.docx

    HQL 的基本结构类似于 SQL 的 `SELECT FROM` 结构,不同之处在于 HQL 中使用的是类名和属性名而非表名和字段名。 ##### 示例:基本查询 ```java String hql = "FROM User"; Query query = session.createQuery(hql)...

    Hibernate课程的总结

    **标题:“Hibernate课程的总结”** 在学习Hibernate框架的过程中,我们深入探讨了它在Java企业级应用中的核心地位。Hibernate作为一个强大的对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互,消除了...

Global site tag (gtag.js) - Google Analytics