`
确实比较男
  • 浏览: 114327 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

J2EE开发框架搭建(3) - hibernate查询条件封装

阅读更多

这一节主要想要说明一下框架中的查询条件接口

1. 条件查询的整个类结构图

2. 在hqhop-framework-common项目下面查询条件的的目录结构:

3. 打开SearchOperator.java , 该类包含了所有的查询操作符,是一个枚举类型:

 

public enum SearchOperator {
	eq("等于", "="), ne("不等于", "!="), gt("大于", ">"), gte("大于等于", ">="), lt("小于", "<"), lte("小于等于", "<="), prefixLike("前缀模糊匹配", "like"), prefixNotLike("前缀模糊不匹配", "not like"), suffixLike("后缀模糊匹配", "like"), suffixNotLike("后缀模糊不匹配", "not like"), like("模糊匹配", "like"), notLike("不匹配", "not like"), isNull("空", "is null"), isNotNull("非空", "is not null"), in("包含", "in"), notIn("不包含", "not in"), custom("自定义默认的", null);

	private final String info;
	private final String symbol;

	SearchOperator(final String info, String symbol) {
		this.info = info;
		this.symbol = symbol;
	}

	public String getInfo() {
		return info;
	}

	public String getSymbol() {
		return symbol;
	}

	public static String toStringAllOperator() {
		return Arrays.toString(SearchOperator.values());
	}

	/**
	 * 操作符是否允许为空
	 * 
	 * @param operator
	 * @return
	 */
	public static boolean isAllowBlankValue(final SearchOperator operator) {
		return operator == SearchOperator.isNotNull || operator == SearchOperator.isNull;
	}

	public static SearchOperator valueBySymbol(String symbol) throws SearchException {
		symbol = formatSymbol(symbol);
		for (SearchOperator operator : values()) {
			if (operator.getSymbol().equals(symbol)) {
				return operator;
			}
		}
		throw new SearchException("SearchOperator not method search operator symbol : " + symbol);
	}

	private static String formatSymbol(String symbol) {
		if (Utils.isEmpty(symbol)) {
			return symbol;
		}
		return symbol.trim().toLowerCase().replace("  ", " ");
	}
}

4.Searchable抽象类的主要实现都是在SearchRequest中完成的,可以代码较多可以直接查询

 

5. 查询接口的使用方式:

1) 只有单个单个条件(查询用户age=21的记录)

 

Searchable searchable = Searchable.newSearchable();
searchable.addSearchFilter("age", SearchOperator.eq, 21);

2) 两个查询条件,用and连接(查询用户name='silentwu' and age=21的记录

 

 

Searchable searchable = Searchable.newSearchable();	 
searchable.and(SearchFilterHelper.newCondition("age", SearchOperator.eq, 21), SearchFilterHelper.newCondition("name", SearchOperator.eq, "silentwu"));

3. 两个查询条件,用or连接

Searchable searchable = Searchable.newSearchable();	 
searchable.or(SearchFilterHelper.newCondition("age", SearchOperator.eq, 21), SearchFilterHelper.newCondition("name", SearchOperator.eq, "silentwu"));




 

 

分享到:
评论

相关推荐

    J2EE企业级项目开发-1期 任务3-6 实训项目单.doc

    3. **实现查询操作的业务逻辑控制层**:在Struts2框架下,编写Action类,封装用户请求,调用Service接口进行查询操作,并将结果返回给视图层展示。 4. **在配置文件中管理各层文件**:更新Struts2的struts.xml、...

    J2EE企业级项目开发-1期 任务3-7 修改操作的实现.doc

    在J2EE企业级项目开发中,实现修改操作是构建任何管理系统不可或缺的部分。在这个特定的实训项目中,学生将专注于BBS管理系统中的文章列表模块的修改功能。以下是该任务涉及的主要知识点: 1. **SSH2集成开发环境**...

    J2EE企业级项目开发-1期 任务3-8 实训项目单.doc

    【J2EE企业级项目开发】是针对软件技术专业学生的一项实训课程,旨在培养学生的实际操作能力和对企业级应用的理解。本实训项目的核心是构建一个BBS管理系统,具体目标是实现文章列表模块的删除操作。以下是关于这个...

    J2EE电子商务系统开发从入门到精通--基于Struts和Hibernate技术实现

    ### J2EE电子商务系统开发从入门到精通——基于Struts和Hibernate技术实现 #### J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - 双层架构(客户端/服务器架构,Client/...

    J2EE--Eclipse+Struts+Hibernate+Spring

    Eclipse、Struts、Hibernate和Spring是J2EE开发中的四个关键组件,它们分别在不同的层面支持应用的开发、部署和管理。 1. **Eclipse**:Eclipse是一个开源的集成开发环境(IDE),广泛用于Java项目。它提供了代码...

    j2ee框架的搭建+jar包的相关说明

    **一、J2EE框架搭建** 1. **环境准备**:首先,你需要安装Java Development Kit (JDK),这是运行和开发Java程序的基础。确保你的系统上已经安装了最新版本的JDK,并配置好环境变量`JAVA_HOME`。 2. **获取J2EE...

    J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现

    ### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 - **双层架构与多层架构的区别**: - 双层架构通常指的是客户端/服务器(Client/Server, C/S)架构,这种架构下的应用程序在...

    基于Hibernate和Struts的J2EE应用开发

    为了解决这些问题,本文提出了一种基于Struts框架和Hibernate框架的J2EE应用开发策略,旨在降低代码的耦合度,提高开发效率。 #### 二、数据持久层及Hibernate Hibernate是一个开放源代码的对象关系映射(ORM)...

    J2EE电子商务系统开发从入门到精通基于Struts和Hibernate技术实现

    ### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 在深入探讨如何使用Struts和Hibernate技术来构建一个完整的电子商务系统之前,我们首先需要理解J2EE的基本概念及其体系架构...

    J2EE电子商务系统开发从入门到精通

    - 本章介绍了Hibernate框架的基础知识和配置方法,为后续章节深入学习Hibernate开发打下了坚实的基础。 #### 第4章 企业在线信息系统网站概述与架构设计 **4.1 企业在线综合信息管理网站概述** - **4.1.1 网站...

    java企业级开发编程学习资料 Java EE教程 J2ee教程 Hibernate 共165页.pptx

    ### Java企业级开发编程学习资料:Java EE教程与J2ee开发教程 #### Hibernate概述 - **定义**:Hibernate是一个开放源代码的Java领域模型的持久化框架,它提供了对象/关系映射(ORM)机制,允许Java应用程序通过...

    J2EE电子商务系统从入门到精通--基于Struts和Hibernate技术实现.

    第三章介绍了Hibernate框架的基础知识及其在J2EE项目中的应用。 - **3.1 开发环境搭建** - **3.1.1 开发包下载**:这部分指导如何获取Hibernate开发包。 - **3.1.2 Hibernate与IDE集成**:这部分介绍了如何在IDE...

    基于Struts和Hibernate和Spring的J2EE架构研究

    本文通过一个具体的网上购物系统案例展示了如何使用Struts、Hibernate与Spring搭建一个完整的J2EE架构。该系统包括用户注册登录、商品浏览、购物车管理等功能。通过实际案例,不仅验证了所提出的架构的有效性,还为...

Global site tag (gtag.js) - Google Analytics