`
ZhouGang库鲁卡
  • 浏览: 30486 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate中的hql语句

 
阅读更多

HQL基础:

     查询所有属性 from Object

     指定表别名   select s.name from Object as;/select  s.name from Object s;

     查询指定属性  select s.name n.name from Object1 s,Object2 n;

     where子句

     distinct

     删除对象 delete Object s where s.name=???;

    更新对象 update Object set s.name=value  where Object.name=??;

    查询并计算属性值 select s.age-6 from Object s;

    使用函数 low小写  count计数 sum求和 max求最大值 min求最小值 avg

    between。。and  / not between。。and

    in  / not in

    like

    and /or

    order by

    group by   having

 

HQL进阶:

      1,HQL查询中一个查询一个父类的同时会默认查询他的子类

    

      2,限制查询数据条数

              Query有两个函数  setFristResult和setMaxResult分别设置查询的第一个数据行的索引和最大查询数

               这样的话   我们能使用这个方式来实现分页功功能

   

      3,使用绑定参数

                1, 我们在hql中直接使用程序变量如: String hql="select a from Object a whre a.name="+name;

                 这种方式如意被别人使用sql注入攻击

                 2,查询语句中以“:”开头的变量叫做命名参数,把命名参数和一个具体的值进行绑定的过程         叫做绑定参数 如:

                 String hql="from Oblect where name=:name and age>:age";

                 Query query=session.createQuery(hql); //创建查询

                                  query.setParameter("name","李晓梅");   //进行绑定

                                   query.setParameter("age",new Integer(20));

 

       4,在hbm.xml中配置HQL语句

              

<hibernate-mapping>
    <class name="Object" table="table" catalog="joblog">
        <!--此处省略了配置-->
    </class>
    <query name="searchStudent">
        <![CDATA[
     from Student s where s.sage>22
     ]]>
    </query>
</hibernate-mapping>

     如何取出使用HQL语句:

 

        Session session=Hsf.currentSession();//创建Session
        Query query=session.getNamedQuery("searchStudent");       //用getNamedQuery得到查询
        List list=query.list();   //执行查询
        Iterator it=list.iterator();
       
        while(it.hasNext()){
    Student stu=(Student)it.next();
    System.out.println(stu.getSname());
        }

 

         5,子查询

                   带in的子查询:

                    from Object where name in(from Object2 where Object2.name="value");

                   比较子查询:

                    from Student s where s.sdept=(select s.sdept from s where s.sname='李晓梅')

                   带有and和or的子查询:

                    使用ANY或者ALL谓词时,必须同时使用比较运算符。查询其他系中比计算机系任一学生                       年龄小的学生名单如:>ANY,大于子查询结果中的某个值>ALL,大于子查询中的所有值

     

         6,Hibernate多表查询

                 多表之间的关系:表的关系映射

                

                左外连接

                右外连接

               

                

 

    

分享到:
评论

相关推荐

    Hibernate中HQL语句的使用[参考].pdf

    Hibernate中HQL语句的使用 HQL(Hibernate Query Language)是 Hibernate 框架中的一种查询语言,它允许开发者使用面向对象的方式来查询数据库。HQL语句的使用是Hibernate中最重要的部分之一,本文将详细介绍HQL...

    hibernate 中HQL语句查询学习笔记

    ### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...

    hibernate-HQL语句大全

    hibernate-HQL语句大全

    Hibernate-HQL语句多对多写法

    "Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地与数据库交互。但是,在使用 Hibernate 时,我们经常会遇到多对多关系的...

    hibernate的hql语句

    【hibernate的HQL语句】是Hibernate框架中用于操作数据库的重要组成部分,它是一种面向对象的查询语言,类似于SQL,但更加强调对象的概念。HQL能够处理复杂的对象关系,如继承、多态和关联,使得在进行SSH(Spring、...

    Hibernate框架]Hql语句in中带参数的写法

    Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的写法,以及解决相关问题的方法。 一、HQL...

    Hibernate的HQL讲解

    对Hibernate中HQL语句的讲解

    Hibernate HQL查询语句总结.docx

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

    经典hibernate教程-HQL语句

    HQL的全称是?...HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得并显示查询结果? 使用'?'做占位符的参数查询,怎样设置参数的值? 命名参数查询的语法是? 怎样创建Criteria查询对象?

    hibernate hql where语句拼接工具类

    例如,如果你有一个User实体,你可能想要查询所有年龄大于30岁的用户,HQL语句可能如下所示: ```java String hql = "FROM User WHERE age &gt; :age"; Query query = session.createQuery(hql); query.setParameter(...

    全面解析HQL语句 非常详细直接的HQL语句的功能介绍

    标题:“全面解析HQL语句 非常详细直接的HQL语句的功能介绍” 描述:“非常详细直接实用的HQL语句的功能介绍看过的人保准都说好” 本篇文章将深入探讨HQL(Hibernate Query Language)的核心功能及其在数据查询...

    HQL语句大全HQL语句大全

    - 如果HQL语句中有参数,则需要为这些参数设置值。 ```java query.setParameter("eventTitle", "测试事件"); ``` 5. **执行查询并处理结果** - 调用Query对象的`list()`方法来执行查询,并返回一个包含查询...

    Hibernate-HQL.rar_HQL_hibernate hql

    例如,查询所有User对象的HQL语句为:“FROM User”。 二、HQL基本结构 1. SELECT子句:HQL支持多种选择项,包括属性、方法、计算表达式等,如“SELECT u.name FROM User u”。 2. FROM子句:指定查询的实体类,如...

    Hibernate HQL基础练习小列子+数据库文件

    Hibernate HQL基础练习小列子+数据库

    Hibernate hql查询语法总结

    基础查询是最简单的HQL语句,用于获取所有`Student`对象。例如: ```java from Student ``` 或 ```java select s from Student as s ``` 这里的`as`关键字可以省略,表示从`Student`表中选择所有记录。查询结果将...

    hql语句大全hql语句大全

    ### HQL语句详解:精通Hibernate查询语言 #### 引言 HQL(Hibernate Query Language)是Hibernate框架中用于执行数据库操作的一种强大的查询语言。它提供了面向对象的语法,允许开发人员以一种接近于编程语言的方式...

    Hibernate查询语句大全PPT精选

    学习Hibernate 的HQL语句的不错选择,

    hibernate hql语句

    #### 完整的HQL语句格式 一个完整的HQL查询语句格式如下: ``` Select/update/delete … from … where … group by … having … order by … asc/desc ``` - **Select**: 查询指定字段或对象。 - **Update/...

    hibernate的HQL的jar

    在项目中,我们需要将这些jar添加到类路径(classpath)中,以确保编译和运行时能够正确解析和执行HQL语句。 描述中提到的“对于应用hibernate框架进行开发时需要”,意味着在基于Hibernate开发项目时,HQL是一个...

    HQL语句的语法

    HQL(Hibernate Query Language)是Hibernate框架中用于操作对象关系映射(ORM)的SQL-like语言,它允许开发者以面向对象的方式来查询数据库。HQL语句的语法结构与SQL相似,但更注重对象和类的概念。以下将详细介绍...

Global site tag (gtag.js) - Google Analytics