`

基于hibernate的数据持久化处理简单实现类

阅读更多
package com.forveross.plane.service.impl;

import java.util.List;

import org.hibernate.Query;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.forveross.plane.service.TaskInfoService;
import com.forveross.plane.vo.TaskInfo;
import com.kit.common.dao.abstr.AbstractDao;

/**
 * 数据持久化处理类实现
 * 
 * @author ahomeeye
 * 
 */
@Transactional
@Scope("singleton")
@Service("taskInfoServiceImpl")
public class TaskInfoServiceImpl extends AbstractDao implements TaskInfoService {

	@Override
	public TaskInfo findTaskInfo(long id) throws Exception {
		return (TaskInfo) getHibernateDao().getHibernateTemplate().get(
				TaskInfo.class, id);
	}

	@Override
	public void deleteTaskInfo(long id) throws Exception {
		getHibernateDao().getHibernateTemplate().delete(findTaskInfo(id));
		getOscacheFactory().removeObjectByGroup(TaskInfo.class.getName());
	}

	@Override
	public void deleteTaskInfo(TaskInfo ti) throws Exception {
		getHibernateDao().getHibernateTemplate().delete(ti);
		getOscacheFactory().removeObjectByGroup(TaskInfo.class.getName());
	}

	@Override
	public void updateTaskInfo(TaskInfo ti) throws Exception {
		getHibernateDao().getHibernateTemplate().update(ti);
		getOscacheFactory().removeObjectByGroup(TaskInfo.class.getName());
	}

	@Override
	public void saveOrUpdateTaskInfo(TaskInfo ti) throws Exception {
		getHibernateDao().getHibernateTemplate().saveOrUpdate(ti);
		getOscacheFactory().removeObjectByGroup(TaskInfo.class.getName());
	}

	@Override
	public void saveTaskInfo(TaskInfo ti) throws Exception {
		getHibernateDao().getHibernateTemplate().save(ti);
		getOscacheFactory().removeObjectByGroup(TaskInfo.class.getName());
	}

	public int countTaskInfo() {
		String hql = "select count(*) from TaskInfo";
		Object o = getHibernateDao().getSessionFactory().getCurrentSession()
				.createQuery(hql).uniqueResult();
		return Integer.parseInt(o.toString());
	}

	@Override
	@SuppressWarnings("unchecked")
	public List<TaskInfo> findTaskInfoList(int pageNum, int pageSize) {
		pageNum = pageNum > 1 ? pageNum - 1 : 0;
		pageSize = pageSize > 0 ? pageSize : 10;

		String hql = "from TaskInfo t order by t.grabChannel asc";
		Query query = getHibernateDao().getSessionFactory().getCurrentSession()
				.createQuery(hql);
		query.setFirstResult(pageNum * pageSize);
		query.setMaxResults(pageSize);

		return (List<TaskInfo>) query.list();
	}

}

分享到:
评论

相关推荐

    hibernate数据持久化组件

    ### Hibernate 数据持久化组件 #### 一、背景与概述 在现代软件开发中,数据持久化是一项关键的技术,它解决了程序运行过程中数据的保存问题。根据题目提供的信息,“内存是暂时存储设备,断电后数据易丢失”,这...

    Hibernate操作持久化对象

    Hibernate通过将对象模型与关系数据库模型之间的映射进行自动化处理,极大地简化了数据访问层(DAO)的实现,让开发者可以专注于业务逻辑,而非底层的数据库操作。 Hibernate是什么? Hibernate是一个基于JDBC的ORM...

    基于Hibernate框架的数据持久化应用开发.pdf

    ### 基于Hibernate框架的数据持久化应用开发 #### Hibernate技术概述 - **1.1 Hibernate简介** Hibernate是一个开放源代码的Java框架,用于实现对象/关系映射(Object/Relational Mapping, ORM),其核心功能是...

    基于hibernate的简单留言本

    基于Hibernate的简单留言本是一个基本的Web应用程序,它使用Hibernate作为数据持久化层,用户可以通过该系统进行留言、查看留言以及回复等操作。这个系统展示了如何在实际项目中应用Hibernate来管理数据库交互。 ...

    Hibernate执行持久层访问步骤

    1. 提交事务:所有操作完成后,调用Transaction的commit()方法提交事务,确保数据的持久化。 2. 关闭资源:操作完毕后,记得关闭Session和SessionFactory,释放资源,防止内存泄漏。 八、缓存机制 1. 第一级缓存:...

    Hibernate 基于持久层框架的DAO模式应用

    在基于持久层框架的DAO(Data Access Object)模式应用中,Hibernate扮演着核心角色,使得业务逻辑和数据访问逻辑分离,提高了代码的可复用性和可维护性。 1. **DAO模式的理解** DAO模式是一种设计模式,它创建了...

    Hibernate和struts的整合架构中数据持久化技术的应用研究.pdf

    ### Hibernate和Struts的整合架构中数据持久化技术的应用研究 #### 摘要与背景 本文探讨了在企业级应用开发中,采用Hibernate和Struts整合架构进行数据持久化技术的应用研究。针对传统单一框架构建的企业应用存在...

    基于Hibernate的Java对象持久化技术分析--农户征信管理平台的设计

    在现代软件开发中,数据库管理和数据持久化是至关重要的环节。Hibernate作为一款优秀的Java对象关系映射(ORM)框架,极大地简化了这一过程。在“基于Hibernate的Java对象持久化技术分析--农户征信管理平台的设计”...

    基于hibernate的简单数据库实现

    **基于Hibernate的简单数据库实现** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务,使得开发人员可以避免编写大量的SQL语句,从而更加专注于业务逻辑。通过Hibernate...

    基于Hibernate框架的数据持久层的研究及其应用.doc

    综上所述,Hibernate为Java开发者提供了强大的数据持久化工具,简化了数据库操作,提高了开发效率。通过深入研究和实践,我们可以充分利用其优点,同时注意规避潜在问题,实现高效、稳定的系统设计。在图书管理系统...

    精通Hibernate:java对象持久化技术

    【精通Hibernate:Java对象持久化技术】主要涵盖了Java应用程序的分层体系结构、软件模型以及对象持久化的概念,特别是如何使用Hibernate这一ORM框架进行持久化操作。以下是详细的知识点解析: 1. **应用程序分层...

    Hibernate数据持久层框架 v5.5.9.zip

    《Hibernate数据持久层框架v5.5.9详解》 Hibernate作为Java开发中广泛使用的开源对象关系映射(ORM)框架,为开发者提供了强大的数据持久化能力,简化了数据库操作。在v5.5.9版本中,它继续保持了对JPA规范的支持,...

    基于hibernate/dwr框架实现的web项目

    在这个"基于Hibernate/DWR框架实现的Web项目"中,我们可以看到开发者利用了Java Web开发的强大工具,包括Hibernate作为持久层框架,Direct Web Remoting (DWR)作为前端与后端交互的桥梁,以及Oracle数据库作为数据...

    基于Struts 2和Hibernate的Blog实现

    5. **评论功能**:用户可以在任何日志下发表评论,这涉及到对评论表的操作,同样依赖于Hibernate的持久化能力。 6. **界面设计**:虽然描述中提到界面美化程度较低,但渐变背景图的添加展示了基本的前端设计,尽管...

    Hibernate 符合JAVA习惯的关系数据库持久化.pdf

    通过提供一套API和元数据描述,Hibernate能够将Java类与数据库表进行映射,使得开发者可以避免编写大量的SQL代码,更加专注于业务逻辑的实现。 ### Hibernate基础 1. **对象关系映射(ORM)**:ORM是Hibernate的...

    基于Hibernate实现的学生选课系统

    【基于Hibernate实现的学生选课系统】是一个典型的Java Web应用程序,主要目标是利用Hibernate这一强大的对象关系映射(ORM)框架来简化数据库操作,为初学者提供一个实践平台。Hibernate允许开发者将业务对象与...

    基于Hibernate和Struts整合的MVC模式设计及应用

    ### 基于Hibernate和Struts整合的MVC模式设计及应用 #### 一、引言 随着软件工程的发展,MVC(Model-View-Controller)设计模式因其良好的分层结构和可维护性而在Web应用开发中得到广泛应用。在当前非常流行的...

Global site tag (gtag.js) - Google Analytics