- 浏览: 165787 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (122)
- JSF (8)
- JS (4)
- CkEditor (1)
- Java (7)
- 浏览器 (1)
- 敏捷开发 (1)
- 报表 (1)
- 经典面试题 (1)
- hibernate (14)
- Web (3)
- MySQLl数据库 (1)
- 日期控件 (2)
- struts2 (1)
- SSH (1)
- Flex (1)
- MyEclipse (1)
- Exception (7)
- Tomcat (2)
- iReportJasperReports (1)
- Oracle (6)
- 数据库 (1)
- annotation (1)
- csdn (1)
- JavaMail (1)
- ITeye (1)
- ITeye论坛规则小测验key (1)
- 非技术 (6)
- 最新网络用语中文篇 (1)
- SQLException (1)
- 新浪微博 (1)
- eclipse (1)
- PrimeFaces (1)
- 权限 (2)
最新评论
-
store88:
哪里配置没注释掉呀,我发现hibernate3可以,移植到hi ...
Could not obtain connection to query metadata解决 -
灵力不足:
Struts Problem Report Struts ha ...
java.lang.NumberFormatException: For input string -
wxqhbw2008:
恩,不错的帖子
hibernate 中 get、load 的 区别 -
fileEye:
刚刚试了好多次,早点知道有答案就好了啦!
ITeye论坛规则小测验key -
tianshi1017:
DecimalFormat df = new DecimalF ...
java.text.DecimalFormat的作用是什么?如何使用?
package com.test; /** * hibernate HQL WHERE语句工具类 * * @author YangHuiChi * */ public class HqlWhere { /** * 测试入口函数 * * @param args */ public static void main(String[] args) { // 查询条件 StringBuilder strHql = new StringBuilder("from Book b where"); strHql.append(HqlWhere.bindLike_suffix("name", "sj", "")); strHql.append(HqlWhere.bindEquals("b.reader.meno", "shiRen", "and")); strHql.append(HqlWhere.bindEquals("b.reader.name", "chenglong", "and")); strHql.append(HqlWhere.bindLikeAll_split("b.title", "1", "and")); System.out.println(strHql.toString()); } /** * ^^^^^^ * 功能:用于模糊查询 格式为:如:1,2,3,4,5,6字符串的字段(匹配: "1," 和 ",1," 和 ",1" )。 * @param conditionKey 条件字段名称 * @param conditionValue 条件值 * @param isAnd 前缀是否带 and * @return */ public static String bindLikeAll_split(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } // 以某条件值为:"1,"开头的 conditionHql.append("(").append(conditionKey).append(" like ").append( "'").append(conditionValue).append(",%'"); // 以某条件值为:包含",1," conditionHql.append(" or ").append(conditionKey).append(" like ") .append("'%,").append(conditionValue).append(",%'"); // 以",1"结尾的 conditionHql.append(" or ").append(conditionKey).append(" like ") .append("'").append("%,").append(conditionValue).append("') "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于模糊查询(包括:前缀,中间,后缀) * @param conditionKey * 条件字段名称 * @param conditionValue * 条件值 * @param isAnd * 前缀需不需要带 and * @return */ public static String bindLike_All(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } // 以某条件值为:"1,"开头的 conditionHql.append("(").append(conditionKey).append(" like ").append( "'").append(conditionValue).append("%'"); // 以某条件值为:包含",1," conditionHql.append(" or ").append(conditionKey).append(" like ") .append("'%").append(conditionValue).append("%'"); // 以",1"结尾的 conditionHql.append(" or ").append(conditionKey).append(" like ") .append("'").append("%").append(conditionValue).append("') "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于某字段"等于"某个值的查询条件 * * @param conditionKey * @param conditionValue * @param isAnd * @return */ public static String bindEquals(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append("=").append("'").append( conditionValue).append("' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于某字段"不等于"某个值的查询条件 * @param conditionKey * @param conditionValue * @param isAnd * @return */ public static String bindNotEquals(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" <> ").append("'").append( conditionValue).append("' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于模糊查询 前缀为某个值的条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bindLike_prefix(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" like ").append("'").append( conditionValue).append("%' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于模糊查询 后缀为某个值的条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bindLike_suffix(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" like ").append("'").append( "%").append(conditionValue).append("' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于模糊查询 包含某个值的条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bindLike_include(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" like ").append("'").append( "%").append(conditionValue).append("%' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于某字段"小于"某个值的查询条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bind_LessThan(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" < ").append("'").append( conditionValue).append("' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于某字段"大于"某个值的查询条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bind_Than(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" > ").append("'").append( conditionValue).append("' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于某字段"小于并且等于"某个值的查询条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bind_LessThan_Equal(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" <= ").append("'").append( conditionValue).append("' "); return conditionHql.toString(); } /** * ^^^^^^ * 功能:用于某字段"大于并且等于"某个值的查询条件 * @param conditionKey * @param conditionValue * @param isAnd */ public static String bind_Than_Equal(String conditionKey, String conditionValue, String or_And) { // 查询条件 StringBuilder conditionHql = new StringBuilder(" "); if (!or_And.equals("")) { conditionHql.append(or_And).append(" "); } conditionHql.append(conditionKey).append(" >= ").append("'").append( conditionValue).append("' "); return conditionHql.toString(); } }
发表评论
-
org.hibernate.PersistentObjectException
2012-01-05 11:38 1052这个问题个人觉得比较奇怪,把从页面传到后台的数据组装成一个对象 ... -
Could not obtain connection to query metadata解决
2011-12-28 11:39 1640811:12:56,906 WARN JDBCEx ... -
DEBUG QueryTranslatorImpl:254 - unexpected query compilation problem
2011-09-25 17:12 10147:10:53,359 DEBUG QueryTrans ... -
org.hibernate.PropertyNotFoundException: no appropriate constructor in class
2011-09-25 16:04 3674hql.append("SELECT ... -
org.hibernate.QueryException: , expected in
2011-09-24 16:00 2573org.hibernate.QueryExceptio ... -
hibernate 中 get、load 的 区别
2011-09-09 01:07 1230第一篇 这次我们来谈一下Hibernate3.2 Se ... -
hibernate hql里可以new对象.
2011-08-22 18:24 3517String hql = " select ... -
Hibernate 关联关系中的OneToMany 和ManyToOne
2011-08-18 14:25 1801集合类型中的OneToMany @Entity publ ... -
映射实体Bean的关联关系 -Hibernate Annotations
2011-08-18 11:02 1315Hibernate Annotations ... -
如何提高hibernate性能
2011-08-08 17:26 855在一个拥有单独业务层的应用中,业务层必须在返回之前, ... -
MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
2011-08-08 17:09 1961MyEclipse从数据库反向生成实体类之Hibernat ... -
hibernate jpa 注解 @Temporal(TemporalType.DATE)
2011-08-07 12:12 25301) DATE :等于java.sql.Date 2) TIM ... -
hibernate注解
2011-08-07 11:32 1135现在EJB3实体Bean是纯粹的POJO。实际上表达了和Hi ...
相关推荐
本文将深入探讨“hibernate hql where语句拼接工具类”,并结合给出的`HqlWhere.java`文件,来讲解如何构建这样的工具类以及其背后的原理和用途。 首先,我们需要理解HQL中的WHERE子句。WHERE子句用于在查询结果中...
总之,Hibernate的HQL语句为开发者提供了强大的面向对象的数据库查询工具,它简化了对象与数据库之间的交互,使得SSH框架下的数据操作更为灵活和高效。熟练掌握HQL,有助于提升开发效率和项目质量。
本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...
总之,Hibernate-HQL是Java开发中处理数据库查询的重要工具,通过理解和熟练运用HQL,可以显著提高开发效率,降低维护成本。通过深入学习和实践,开发者可以更好地驾驭这个强大的查询语言,提升项目开发的质量和效率...
Hibernate HQL是一种面向对象的查询语言,它允许开发人员以一种更加自然的方式来表达数据库查询,而无需直接编写SQL语句。HQL提供了类似于SQL的强大查询能力,但更符合面向对象编程的思维方式,这使得它在处理持久化...
例如,如果我们想要获取`Student`类的所有实例,可以使用如下HQL语句: ```java String hql = "from Student"; List<Student> students = session.createQuery(hql).list(); ``` 这里的`session.createQuery()`...
首先,HQL是Hibernate提供的一个强大的查询工具,它允许开发者用类名和属性名来代替表名和列名,从而避免了直接操作SQL语句的繁琐。HQL支持基本查询、聚合函数、分组、排序、子查询以及连接查询等多种操作,使得...
HQL查询语句结构通常包括以下几个部分:`SELECT`, `FROM`, `WHERE`, `GROUP BY`, `HAVING`, `ORDER BY`。这些关键字与SQL中的用法类似,但HQL中的对象和属性是基于Java类和它们的成员。 例如,假设我们有一个`...
在这样的工具类基础上,我们可以轻松地在业务代码中构建和执行HQL查询,提高开发效率。 四、HQL的优势 1. **面向对象**:HQL使用类和属性代替表和列,与Java代码的风格一致。 2. **多态性**:支持查询不同类型的...
综上所述,Hibernate的HQL模糊查询是开发中不可或缺的工具,它提供了一种简单而强大的方式来处理数据库的模糊查询需求。通过理解并熟练掌握这些概念,可以更好地利用Hibernate进行数据操作,提升项目的开发效率和...
HQL是Hibernate中用于检索对象的强大工具,它的设计考虑了面向对象编程的特点,提供了丰富的连接和预加载策略。通过熟练掌握HQL,开发者能更高效地操作和查询持久化对象,提高应用程序的性能。在实践中,应根据具体...
总的来说,HQL作为Hibernate的一部分,为开发者提供了强大的工具,使他们能够在面向对象的环境中优雅地进行数据库操作。通过学习和熟练掌握HQL,可以提高开发效率,减少代码出错的可能性,并增强应用程序的安全性。...
总之,HQL是Hibernate提供的强大查询工具,它可以让我们用面向对象的方式来处理数据库查询,简化了传统SQL的复杂性。同时,理解Hibernate映射文件中的各种元素对于有效利用Hibernate至关重要。通过这些元素,我们...
HQL查询语句的结构与SQL类似,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等子句,但它支持更多的面向对象特性,如类、继承、集合等。 二、HQL查询的基本语法 1. 查询所有对象:`from 类名`,例如:`from...
总之,HQL是Hibernate中的核心查询工具,它的使用对于Java开发者,特别是那些处理数据库操作的开发者来说至关重要。通过学习和实践HQL,你可以更好地理解和利用Hibernate的面向对象特性,实现高效、灵活的数据访问。
总的来说,Hibernate-HQL是Java开发中处理数据库操作的重要工具,它简化了数据库操作,提高了开发效率。深入学习和理解HQL,能够帮助开发者更好地利用Hibernate框架,构建高效且易于维护的Java应用。
在Java开发领域,尤其是使用Struts、Spring和Hibernate框架构建应用程序时,HQL(Hibernate Query Language)是一种强大的工具,用于处理对象关系映射(ORM)的数据库查询。HQL是面向对象的,允许开发者以类和对象的...
标题"**HQL多对多的查询语句分析**"主要关注的是如何在Hibernate中使用HQL处理数据库中的多对多关联关系查询。在数据库设计中,多对多关系是最复杂的关联类型,它意味着一个实体可以与多个其他实体相关联,反之亦然...