`
hawkist
  • 浏览: 35946 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

构建基于maven的综合项目(七)--hibernate查询

阅读更多
一、hibernate 查询相关
    1、Query查询,要求hql熟练
    2、Criteria查询,面向对象的方式查询,hibernate生成sql语句较多,返回结果不满意,还未找到适合的解决方法
public Page getQueryAccountsForPage(Page page) {
		/*
		 * 中文条件查询,最好使用?占位符并使用query.setParameter方式
		 * jdbc url必须设置编码jdbc:mysql://localhost:3306/notepad?useUnicode=true&characterEncoding=utf8
		 * */
		final String hql = "from Account where email like ? or user.userName like ? order by user.registTime desc";
		final String[] parameter = {new String("%" + page.getKeyWord() + "%"),new String("%" + page.getKeyWord() + "%")};
		final int offset = (page.getCurrentPage() - 1) * page.getPageSize();
		final int length = page.getPageSize();
		int count = getHibernateTemplate().find(hql,parameter).size();
		List<Account> list = getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(Session session) 
				throws HibernateException,SQLException {
				Query query = session.createQuery(hql);
				query.setParameter(0, parameter[0]);
				query.setParameter(1, parameter[1]);
				query.setFirstResult(offset);
				query.setMaxResults(length);
				return query.list();
			}			
		});
		/*
		 * 使用criteria分页查询
		 * 如果一个用户有多个角色,那么查询该用户时,会返回多个该用户对象
		 * 未找到合适办法
		 * */
//		List<Account> list = getHibernateTemplate().executeFind(new HibernateCallback() {
//			public Object doInHibernate(Session session) 
//				throws HibernateException, SQLException {
//				Criteria criteria = session.createCriteria(Account.class);
//				//设置关联属性
//				criteria.createCriteria("user", "user");
//				//设置模糊查询
//				if(keyWord.length() > 0){
//					criteria.add(
//						Restrictions.or(
//							Restrictions.like("email", "%" + keyWord + "%"),
//							Restrictions.like("user.userName", "%" + keyWord + "%")
//						)
//					);
//				}
//				//设置分页起始
//				criteria.setFirstResult(offset);
//				criteria.setMaxResults(length);
//				//设置排序
//				criteria.addOrder(Order.desc("user.registTime"));
//				return removeRepeatForAccount(criteria.list());
//			}
//		});
		page.setCount(count);
		page.setList(list);
		return page;
	}
分享到:
评论

相关推荐

    构建基于Maven的SSH原型项目

    "构建基于Maven的SSH原型项目"这个主题,旨在帮助初学者理解和掌握如何使用这些技术搭建一个基础的Web应用。 首先,Maven是Apache开发的一个项目管理工具,它通过一个项目对象模型(Project Object Model,POM)来...

    Maven项目ssh Struts2+hibernate+Spring+maven框架.zip

    - Maven是一个项目管理和综合工具,它管理项目的构建、报告和文档生成,以及依赖关系。 - Maven通过pom.xml文件来定义项目的构建过程和依赖关系,简化了项目的构建和部署。 - Maven提供了插件系统,可以执行各种...

    Spring-Struts-Hibernate在maven下整合

    本示例中,这三大框架被整合到一个基于Maven的项目中,使得开发和管理更加方便。以下是关于这个整合的详细讲解: 1. **Maven基础** Maven是一个项目管理和综合工具,它通过一个统一的构建过程和依赖管理,简化了...

    使用springmvc、hibernate、maven开发的web实例项目。

    Spring MVC是Spring框架的一个模块,主要用于构建基于模型-视图-控制器(MVC)模式的Web应用程序。它提供了丰富的特性,如请求映射、数据绑定、验证、本地化、视图解析等。Spring MVC的优势在于其松耦合、模块化的...

    基于Maven的springmvc3+spring+hibernate4框架整合

    "基于Maven的springmvc3+spring+hibernate4框架整合"是一个典型的企业级应用开发模式,它利用了Maven的依赖管理和构建功能,以及Spring MVC、Spring和Hibernate这三大流行框架的强大功能。下面将详细介绍这三个框架...

    Maven项目Spring4+Hibernate4+shiro+Ehcache项目集成

    在本项目中,我们主要探讨的是一个基于Maven构建的Java Web应用,它整合了Spring 4、Hibernate 4、Apache Shiro以及Ehcache等多个关键框架,旨在实现用户角色菜单管理的功能。以下是对这些技术及其集成应用的详细...

    【基于Maven的Hibernate整合Mycat示例】

    总之,【基于Maven的Hibernate整合Mycat示例】是一个涵盖了项目构建、数据库连接、ORM框架使用和分布式数据库中间件配置的综合案例。它帮助开发者理解如何在大型系统中处理高并发、大数据量的情况,以及如何通过...

    maven-spring-hibernate-project:适用于Spring MVC,Hibernate和REST Apis的Maven项目

    这是一个基于Maven构建的Java项目,它结合了Spring MVC框架、Hibernate ORM工具以及RESTful APIs的实现。这个项目为开发者提供了一个基础的架构,用于开发现代化的企业级Web应用。 ### Maven Maven是Apache软件基金...

    基于maven做的一个权限 SpringMVC+Spring + hibernate

    【标题】"基于maven做的一个权限 SpringMVC+Spring + hibernate" 涉及的知识点主要包括: 1. Maven:Maven是一个项目管理和综合工具,它管理项目的构建、报告和文档,通过依赖管理和项目信息管理,使得Java开发更加...

    springMVC+hibernate maven空框架

    - **作用**:Maven 是一个项目管理和综合工具,它通过管理项目的构建、依赖关系以及文档生成,帮助开发者更有效地构建项目。 - **配置**:pom.xml 文件是 Maven 的核心,包含了项目信息、依赖、构建配置等。 - **...

    hibernate Maven仓库资源

    **标题解析:**“hibernate Maven仓库资源”这一标题表明了我们关注的是关于Hibernate框架在Maven项目中的使用。Hibernate是一个流行的Java...这些知识点对于Java开发者在构建基于Hibernate的持久层架构时至关重要。

    spring+springmvc+hibernate4+easyui+maven完整项目搭建

    Maven 是一个项目管理和综合工具,它通过 Pom.xml 文件管理项目的依赖关系,自动化构建流程,如编译、测试、打包等。在 "eip-ssh" 项目中,Maven 用于组织项目结构,管理 SSH 框架和其他库的依赖,简化项目的构建和...

    Maven hibernate project

    本篇文章将深入探讨如何将这两者结合,创建一个基于Maven的Hibernate项目。 ### Maven入门 1. **Maven配置**: Maven的安装非常简单,只需下载对应操作系统的版本并添加到系统环境变量中。在项目中,通过`pom.xml`...

    maven+springmvc+springjpa+hibernate

    这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。下面我们将深入探讨这些技术的细节。 首先,**Maven**是一个项目管理和综合工具,它主要负责构建、依赖管理和项目信息管理。通过在...

    基于Maven Web+struts+hibernate实现用户管理,带用户分析

    本项目"基于Maven Web+Struts+Hibernate实现用户管理,带用户分析"是这样一种实现,它利用了Java EE技术栈中的关键组件来构建高效、可维护的后端系统,并提供用户行为的深度分析。 首先,让我们详细了解一下这三个...

    springmvc4-tiles-hibernate4.rar

    在本项目中,我们主要探讨的是如何使用Maven构建一个基于Spring MVC 4、Tiles布局框架和Hibernate 4的Web应用程序。这个项目采用完全的Java注解配置,摒弃了传统的XML配置方式,使得代码更加简洁,易于维护。以下是...

    maven+struts2+hibernate3+spring+eclipse项目

    该项目是一个经典的Java Web开发组合,使用了Maven作为构建工具,Struts2作为表现层框架,Hibernate3作为持久层框架,Spring3作为依赖注入和事务管理框架,且基于Eclipse IDE进行开发。以下是对这些技术栈的详细说明...

    maven+springmvc+springsecurity+hibernate框架整合开发源代码

    首先,Maven是一个项目管理和综合工具,主要负责项目的构建、依赖管理和项目信息管理。通过在项目中引入Maven,开发者可以方便地在线引用jar包,避免了手动下载和管理依赖的问题。Maven使用XML格式的配置文件(pom....

    基于java的项目代码--源码

    【基于Java的项目代码——源码】:这个项目是一个用Java语言编写的科研项目申报书管理系统,展示了如何在Java环境中实现一个完整的应用系统。在Java编程中,我们通常会使用面向对象的设计原则,包括封装、继承和多态...

    maven项目demo

    【标题】"maven项目demo"揭示了这是一个基于Maven构建的项目示例。Maven是Java开发中广泛使用的项目管理和综合工具,它通过管理项目的构建、报告和文档,简化了项目的构建过程。Maven使用一种标准的项目对象模型...

Global site tag (gtag.js) - Google Analytics