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

利用java注解拼装HQL

阅读更多
工作中我经常会遇到这样一个场景:
   一个可以进行检索的功能列表;查询前我们需要输入一些检索数据,然后后台通过接收这些检索数据,进行Hql拼装,最后形成形如 select filed1,filed2 from table where a=b and c > d 这样的检索语句。

  如果检索数据少的话拼装起来不算麻烦,但一旦检索数据很多,代码看起来就会很乱;
  我觉得用注解的方式比较优雅;
  这里给出使用的片段:这是一个用于封装所需检索数据的对象:
@Search(name="projectName",signType=SignType.EQ)
private String projectName;
        这个注解会形成这样的数据 and projectName = [value]
        [value]的数据来源于getProjectname();

@Search(name="companyCode",signType=SignType.LIKE)
private String companyCode;

@Search(name="comode",signType=SignType.LIKE)
private Date createDate;   

  这样如果这个对象没有什么级联的查询的话,我们只需要调用这个查询模型的demo.getHql(查询对象全类名)就可以得到它的整个的Hql语句;
目前这个功能用到了5个类
  SearchModel:用户的检索对象通过继承它就可以使用getHql方法
  Search:检索对象字段上所需要的注解(如:@Search)
  SignType:一个枚举,所支持的符号类型(如:>,<,=)
  OrderType,OrderModel:用于排序

想要对该功能进行扩展的可以下载源码;
分享到:
评论

相关推荐

    Hibernate注解方式、HQL查询

    本篇将详细探讨Hibernate的注解方式以及HQL(Hibernate Query Language)查询。 一、Hibernate注解方式 1. **实体类注解**:在Hibernate中,我们可以使用注解来定义一个Java类为数据库中的表。例如,使用`@Entity`...

    hql的增删改查

    ### HQL(Hibernate Query Language)增删改查详解 #### 一、概述 HQL(Hibernate Query Language)是...理解这些基本操作的实现原理,有助于开发者更好地利用Hibernate框架来提高应用程序的数据访问效率和性能。

    HQL查询pdf资料

    HQL允许开发人员以一种更自然的方式查询数据库,同时保持了Java对象模型的一致性。 #### HQL基本语法 HQL查询的基本结构包括关键字如`SELECT`、`FROM`、`WHERE`、`GROUP BY`、`HAVING`、`ORDER BY`等,这些关键字...

    hql语句 使用大全

    ### HQL语句使用大全 HQL(Hibernate Query Language)是一种面向对象的查询语言,它提供了灵活而强大的数据检索方式,使开发人员能够更高效地与数据库交互。本文将详细介绍HQL的基本用法及高级特性。 #### 1. ...

    hibernate_hql.rar_HQL

    **正文** 《深入理解Hibernate HQL:Java数据库...熟练掌握HQL的使用,能更好地利用Hibernate框架,实现优雅的数据库交互。在实际项目中,灵活运用HQL,不仅可以编写出简洁的代码,还能提高代码的可读性和可维护性。

    HQL语句 HQL语句

    HQL语句 HQL语句 HQL语句 HQL语句 HQL语句

    精通hibernate HQL语言

    为了演示HQL的用法,我们需要创建对应的Java持久化类。例如,对于`student`表,我们创建了`Student`类,包含相应的属性和访问器方法。同样,`Course`类对应`course`表,`SC`类则对应`sc`表,用于表示学生选课的关系...

    hql语句大全

    此文档包含所有Hibernate里面能够用的HQL语句,让你正确掌握HQL与sql语句的异同!

    HQL语句大全HQL语句大全

    ### HQL语句详解 #### 一、HQL简介 HQL(Hibernate Query Language)是Hibernate框架中的查询语言,它提供了面向对象的方式来进行数据库...在实际开发中,合理利用HQL可以极大地提高数据库操作的效率和代码的可读性。

    HQL 语法总结 实体查询

    此外,我们还可以利用 HQL 动态创建实体实例,并将其封装到列表中: ```java List&lt;TUser&gt; list = session.createQuery("select new TUser(user.name, user.age) from TUser as user").list(); ``` 需要注意的是,...

    hql ppt Hql PPt

    Hql PPt Hql PPt

    HQL语言大全 高清晰可复制版

    而HQL作为Hibernate的核心组成部分,它的掌握对于Java开发者来说至关重要。 1. **HQL简介** HQL是面向对象的查询语言,与SQL不同的是,它操作的对象是Java实体类而不是数据库表。它将数据库表和Java类之间的映射...

    HQL查询及语法

    3. **创建Query对象**:利用Session对象的`createQuery`方法,传入HQL语句创建Query实例。 4. **设置参数**:如果HQL语句中包含参数,需调用Query对象的`setXxx`方法为其赋值。 5. **执行查询并处理结果**:最后...

    HQL Eclipse Plugins 配置教程

    不喜欢使用myEclipse的...最近在项目中使用Hibernate,由于需要使用HQL,找了很多资料,大都是MyEclipse中自带的HQL工具。 由于MyEclipse是收费的,速度不是很理想。所以在网上找到了一个elipse插件 英文图文教程 ...

    HQL.pdf数据查询语句

    Hibernate Query Language(HQL)是一种面向对象的查询语言,它允许开发者通过对象模型而非数据库模式来表达数据库查询。...在实际应用中,开发者应充分利用HQL提供的强大功能,提高数据访问层的代码质量与效率。

    hql多表查询

    在IT领域,特别是数据库操作与查询中,HQL(Hibernate Query Language)作为一种强大的查询语言,被广泛应用于基于Hibernate框架的数据访问层。HQL允许开发者使用类似SQL的语法进行数据库操作,但更贴近于面向对象的...

    HQL连接查询和注解使用总结

    ### HQL连接查询和注解使用总结 ...以上总结了HQL连接查询的不同类型及其语法特点,以及如何在Hibernate中利用注解配置持久化类及其关联关系。这些知识对于理解和使用Hibernate进行高效数据库操作至关重要。

    hibernateHQL关联查询

    例如,在电子商务系统中,我们需要获取用户信息及其相关的订单信息时,就可以利用HQL关联查询来简化这一过程。此外,当涉及到复杂的业务逻辑分析时,HQL关联查询同样可以发挥重要作用。 #### 六、总结 通过本文的...

Global site tag (gtag.js) - Google Analytics