`
qnsong1984
  • 浏览: 17443 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate BaseDao的几个方法

    博客分类:
  • Java
阅读更多
package com.happybolin.mytest;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class AbstractDao {
private Session session;

private Transaction tr;

private Log log = LogFactory.getLog(AbstractDao.class);

public AbstractDao() {
   HibernateUtil.buildSessionFactory();
}

protected void saveorUpdate(Object obj) {
   try {
    startOperation();
    session.saveOrUpdate(obj);
    tr.commit();
   } catch (HibernateException e) {
    log.error("saveorUpdate is fault");
   } finally {
    HibernateUtil.close(session);
   }
}

protected void delete(Object obj) {
   try {
    startOperation();
    session.delete(obj);
    tr.commit();
   } catch (HibernateException e) {
    log.error("could not delete ");
   } finally {
    HibernateUtil.close(session);
   }
}

protected Object find(Class clazz, Long id) {
   Object obj = null;
   try {
    startOperation();
    obj = session.load(clazz, id);
   } catch (HibernateException e) {
    log.error("find is fault");
   } finally {
    HibernateUtil.close(session);
   }
   return obj;
}

protected List findAll(Class clazz) {
   List objects = null;
   try {
    startOperation();
    Query query = session.createQuery("from clazz.getName");
    objects = query.list();
    tr.commit();
   } catch (HibernateException e) {
    log.error("findAll is fault");
   } finally {
    HibernateUtil.close(session);
   }
   return objects;
}

protected void startOperation() throws HibernateException {
   session = HibernateUtil.openSession();
   tr = session.beginTransaction();
}

}


分享到:
评论

相关推荐

    basedao_basedao数据库_

    在给出的文件列表中,我们可以看到几个关键文件: 1. `basedao.iml`: 这是IntelliJ IDEA项目文件,包含了项目的模块配置信息。 2. `pom.xml`: Maven项目配置文件,定义了项目的依赖、构建设置等。 - 在这个项目中...

    SpringMvc(4.0)+hibernate(4.0)

    项目结构通常包含以下几个部分: 1. src/main/java:存放 Java 源代码,包括 Model(实体类)、Service(服务层)、Controller(控制器)等。 2. src/main/resources:存放配置文件,如 applicationContext.xml...

    ssh+baseDao实现分页

    这个方法接受当前页码和每页大小作为参数,返回对应页码的数据集合。 2. **实现分页逻辑**:在BaseDao的实现类中,我们需要根据Hibernate的Criteria或者HQL来构造分页查询。使用`setFirstResult()`设置查询起始位置...

    Hibernate框架笔记

    在示例代码中,BaseDao接口定义了几个基础的方法,比如`getAll()`用于获取指定类的所有实例,`getById()`用于根据主键查询特定的实例等。这些方法为后续具体的DAO实现提供了一个统一的调用入口。 通过上述步骤,...

    hibernate中的对象关系模型

    以下是对hibernate中几种对象关系模型的详细解释: 1. **依赖**: 在Java中,依赖关系可以通过类的实例方法参数来体现,如示例中的`Person`类的`life`方法接受`Sun`对象作为参数。这种关系表明一个类的方法或行为...

    spring3.2+hibernate4

    Spring与Hibernate的整合主要体现在以下几个方面: 1. **事务管理**:Spring提供了一种声明式事务管理方式,只需在Service层的方法上添加@Transactional注解,就能自动处理事务的开启、提交、回滚。这种方式极大地...

    ssh框架整合step by step (springMVC + spring 5.0.4 + hibernate 5.0.12)

    ssh框架搭建step by step (springMVC + spring 5.0.4 + hibernate 5.0.12) 好久不弄web了, 周末心血来潮, 使用较新...# 项目主要描述ssh的搭建步骤, 前端仅仅是几个简单的展示页面; 如有疑问请留言, 欢迎指教交流!

    自动代码生成

    可是Mybatis就可怜了,没有上面那些东西,在网上找,也有一些类似jpa的产品出现,但是总感觉不好用,所以干脆自己搞一个,不就写几个文件吗。 说明:生成的文件包括 实体:为每张表生成一个对应的实体 QueryModel...

    SSH 的简单继承

    这个组合在过去的几年里被广泛用于构建企业级应用,特别是那些需要复杂数据管理和用户交互的系统。在本例中,“SSH 的简单继承”指的是一个基于SSH框架的学生信息管理系统,该系统允许对学生的数据进行基本操作,如...

    framework开发手册.doc

    在以上几个层次中都会用到 PO,如在 web 层中会用来接受前台表单提交的数据,在 DAO 层中会利用 hibernate 对 PO 进行数据操作。由于在项目中用到了 hibernate,因此在生成 PO 后,会进行 hibernate 的配置。 本 ...

    Ext4MVC框架

    最近需要用到Extjs4做一个管理系统,搞了一天,搭起来一个Extjs4.1的MVC框架,上传到...里面包含了Struts2+Spring3+hibernate3+注解的框架,不过我是测试用的,BaseDao中只写了几个有用的函数,其它的需要自己补充。

    java西安公司考试考试资源

    在Java开发中,给定的文件内容涉及到几个关键知识点,包括Spring MVC、Hibernate、Struts1以及字符编码处理。以下是这些知识点的详细解释: 1. **Struts1框架**: - `taglib`指令:在Java Web开发中,Struts1框架...

    JavaEE图书显示源代码

    这个功能涵盖了几个关键点:图书分类展示、分页显示、以及图书搜索。下面将详细阐述这些知识点。 1. **Struts2框架**: Struts2是一个用于构建企业级Web应用程序的MVC框架。它提供了强大的控制层,简化了开发流程...

    简单的SSH集成

    5. **新闻发布网站的功能实现**:这个系统可能包含以下几个主要部分: - 新闻列表页:展示所有新闻的摘要和标题,通过链接可以跳转到详细页面。 - 新闻详情页:显示完整的新闻内容,包括标题、内容、作者、发布...

    java常有代码

    本篇文章将深入探讨标题“java常有代码”所涵盖的几个关键知识点:Excel的上传与下载、BaseDao接口的使用、日期(Date)与字符串之间的转换,以及拼音码的处理。 首先,让我们来讨论Excel的上传与下载。在Web应用中...

    spring自动装配项目struts2

    综合上述内容,这个"spring自动装配项目struts2"的实现涉及了以下几个关键技术点: 1. Spring的自动装配特性,包括bean的初始化和依赖注入。 2. Struts2的MVC架构,用于处理用户请求和控制流程。 3. Hibernate作为...

    SSH项目1

    9. Dao操作优化,创建BaseDao基类,实现通用方法,利用反射和泛型提高代码复用性。 在实际开发中,SSH框架的组合使用能够提高开发效率,减少代码量,并且提供了良好的分层结构和模块化设计,便于维护和扩展。

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论显示(5) 博客...

    demo-dao-jdbc

    项目的结构通常包括以下几个部分: 1. **实体类(Entity)**:如`User.java`,代表数据库中的表结构,包含了对应的属性和getter/setter方法。 2. **DAO接口**:如`UserDAO.java`,定义了对数据库操作的方法,如`...

Global site tag (gtag.js) - Google Analytics