`
临听岗岗
  • 浏览: 9732 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

dao 层封装(利用spring + hibernate)

dao 
阅读更多

接口 baseDao

 

package com.dx.dao;

import java.io.Serializable;
import java.util.List;

import org.hibernate.SQLQuery;

public interface BaseDao {

	public void save(Object object);
	
	public void update(Object object);
	
	public void delete(Object object);
	
	public <T> T get(Class<T> type,Serializable id);
	
	public List<?> query(String hql);
	
	public List<?> query(String hql,int pageNum,int pageSize);
	
	public List<?> queryBySql(String sql);
	
	public List<?> queryBySql(String sql,int pageNum,int pageSize);
	
		
	
}

 

baseDaoImpl

 

package com.dx.dao.impl;

import java.io.Serializable;
import java.util.List;

import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.dx.dao.BaseDao;

public class BaseDaoImpl extends HibernateDaoSupport implements BaseDao{

	private SessionFactory sessionFactory;
	
	public void setSuperSessionFactory(SessionFactory sessionFactory) {
		super.setSessionFactory(sessionFactory);
	}
	
	@Override
	public void save(Object object) {
		this.getHibernateTemplate().save(object);
	}

	@Override
	public void update(Object object) {
		this.getHibernateTemplate().update(object);
		
	}

	@Override
	public void delete(Object object) {
		this.getHibernateTemplate().delete(object);
	}

	@Override
	public <T> T get(Class<T> type, Serializable id) {
		return this.getHibernateTemplate().get(type, id);
	}

	@Override
	public List<?> query(String hql) {
		return this.getHibernateTemplate().find(hql);
	}

	@Override
	public List<?> query(String hql, int pageNum, int pageSize) {
		
		List<?> list=null;
		Session session = this.getSession();
		Transaction transaction = session.beginTransaction();
		
		transaction.begin();
		
		Query query = session.createQuery(hql);
		query.setFirstResult(pageNum*pageSize);
		query.setMaxResults(pageSize);
		list = query.list();
		
		transaction.commit();
		session.close();
		return  list;
	}

	@Override
	public List<?> queryBySql(String sql) {
		List<?> list=null;
		Session session = this.getSession();
		Transaction transaction = session.beginTransaction();
		
		transaction.begin();
		
		SQLQuery sqlQuery = session.createSQLQuery(sql);
		
		list = sqlQuery.list();
		transaction.commit();
		session.close();
		return list;
	}
	
	@Override
	public List<?> queryBySql(String sql, int pageNum, int pageSize) {
		List<?> list=null;
		Session session = this.getSession();
		Transaction transaction = session.beginTransaction();
		
		transaction.begin();
		
		SQLQuery query = session.createSQLQuery(sql);
		query.setFirstResult(pageNum*pageSize);
		query.setMaxResults(pageSize);
		list = query.list();
		
		transaction.commit();
		session.close();
		return  list;
	}

			

}

 

ok

 

 

分享到:
评论

相关推荐

    springmvc+spring+hibernate

    7. **DAO和Service层**:创建DAO接口和实现类,利用Hibernate的Session进行数据库操作。同时,创建Service层接口和实现类,将业务逻辑封装起来,这些类通常会依赖于DAO层。 8. **Controller层**:创建Spring MVC的...

    Struts+Spring+Hibernate开发实例.pdf

    Struts负责视图与控制器部分,Spring负责业务逻辑层及依赖注入,Hibernate负责数据持久层。下面将详细介绍文档提及的各个知识点。 **Struts框架** Struts是基于MVC设计模式的一个Web层框架。它将Web层分为Model...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    通过这种方式,开发人员可以利用Struts2的控制层、Spring的服务层管理和依赖注入,以及Hibernate或Ibatis的数据访问能力,构建出高效且可扩展的Web应用。这些整合示例可以帮助初学者快速理解各个组件的交互方式,...

    非注解Springmvc+spring+hibernate 入门实例

    Service层封装了业务逻辑,调用DAO来完成数据库操作,它是Controller与DAO之间的桥梁。 为了整合SpringMVC、Spring和Hibernate,你需要在Spring的配置文件中引入Hibernate的相关配置,如数据源、SessionFactory以及...

    Spring+Spring mvc+Hibernate+Bootstrap、企业级员工信息管理系统

    01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...

    SSH(Struts+Spring+Hibernate)三层架构.

    2) **持久层的类包**:包含DAO(Data Access Object)和实体类,DAO封装了对数据库的操作,实体类则对应数据库中的表。 3) **业务层的类包**:包含Service类,它们实现了业务逻辑,是表现层和持久层的桥梁,通常由...

    Spring+Hibernate+Strust 整合开发步骤

    在Struts的Action类中,通过Spring的@Autowired注解或依赖注入的方式获取Service层的bean,进而调用Hibernate的DAO进行数据操作。 9. **编写Action和ActionForm** 实现Struts的Action接口,编写处理用户请求的业务...

    Struts+Spring+Hibernate快速入门

    - DAO层(Data Access Object Layer)封装了与数据库的交互,提供增删查改(CRUD)方法。 6. **运行流程**: - 用户通过浏览器发送请求到Action(如`UserAction`)。 - `UserAction`调用由Spring管理的业务服务...

    JSF+Spring+Hibernate的实例讲解.doc

    在 JCatalog 示例中,Spring 可能用于实现业务服务接口,提供对 Hibernate DAO 的封装,而 JSF 的 Managed Beans 作为视图与控制器的结合,负责处理用户请求并调用 Spring 服务。此外,安全控制也应纳入设计考虑,如...

    Struts+Spring+Hibernate_upload_and_download.rar_Spring+Hibernate

    在文件上传和下载中,Spring可以管理文件操作的Service层,通过Autowired注解注入所需的DAO或Repository,实现文件的存储和检索。Spring还提供了文件转换和流处理的功能,使得文件内容能够在内存和磁盘之间安全地...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    1. **源代码**:包含Action类、DAO(数据访问对象)类、Service层类以及实体类,它们分别对应业务逻辑、数据访问和模型对象。 2. **配置文件**:struts-config.xml定义Struts的配置,spring-beans.xml管理Spring的...

    Spring+Hibernate

    7. **DAO(Data Access Object)设计模式**:在 Spring+Hibernate 应用中,通常会创建 DAO 类,它们是业务层和数据访问层的接口,负责调用 Hibernate 的 Session 方法进行数据操作。 8. **Spring 的 AOP**:AOP ...

    struct+spring+hibernate依赖包大全

    在Java Web开发领域,Structs、Spring和Hibernate是三个非常重要的框架,它们分别负责MVC架构的展现层、业务逻辑层以及数据访问层。这个"Struct+Spring+Hibernate依赖包大全"提供了这三个框架最新版本所需的全部jar...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...

    Spring + Struts +Hibernate简单学习源码

    在"Spring + Struts +Hibernate简单学习源码"中,我们可以看到一个综合性的Java Web项目,它利用这三个框架构建了一个功能完整的应用。以下是对这个项目中涉及的知识点的详细解释: 1. **Spring框架**: - **依赖...

    jsf+spring+hibernate架构的网上商店

    3. **服务层**:Spring 作为业务逻辑的服务层,封装了与数据库的交互,提供了接口供JSF调用。 4. **安全控制**:Spring Security 可以用来实现用户认证和授权,保护系统资源。 ### Hibernate ORM Hibernate 是一个...

    struts2.1.8+spring+hibernate框架整合所需jar包

    7. **编写DAO和Service**:DAO层负责与数据库交互,Service层封装业务逻辑,两者都由Spring管理。 在给定的压缩包中,包含了整合所需的各种jar包,如Struts2、Spring、Hibernate的库文件,以及MySQL的JDBC驱动。...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统

    3. 用户服务层(UserService.java):封装业务逻辑,调用DAO层操作,例如注册新用户、验证登录等。 4. Struts2 Action类(如LoginAction.java、RegisterAction.java):接收前端请求,调用UserService执行业务逻辑,并...

Global site tag (gtag.js) - Google Analytics