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

Hibernate- HibernateTemplate的常规用法

    博客分类:
  • web
阅读更多
HibernateTemplate的常规用法【转】

HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。下面是HibernateTemplate的常用方法简介:

          void delete(Object entity):删除指定持久化实例

          deleteAll(Collection entities):删除集合内全部持久化类实例

          find(String queryString):根据HQL查询字符串来返回实例集合

          findByNamedQuery(String queryName):根据命名查询返回实例集合

          get(Class entityClass, Serializable id):根据主键加载特定持久化类的实例

          save(Object entity):保存新的实例

          saveOrUpdate(Object entity):根据实例状态,选择保存或者更新

          update(Object entity):更新实例的状态,要求entity是持久状态

          setMaxResults(int maxResults):设置分页的大小

下面是一个完整DAO类的源代码:

public class PersonDAOHibernate implements PersonDAO

{

       //采用log4j来完成调试时的日志功能

private static Log log = LogFactory.getLog(NewsDAOHibernate.class);

       //以私有的成员变量来保存SessionFactory。

private SessionFactory sessionFactory;

//以私有变量的方式保存HibernateTemplate

private HibernateTemplate hibernateTemplate = null;

            //设值注入SessionFactory必需的setter方法

       public void setSessionFactory(SessionFactory sessionFactory) 

{

              this.sessionFactory = sessionFactory;

       }

            //初始化本DAO所需的HibernateTemplate

public HIbernateTemplate getHibernateTemplate() 

{

            //首先,检查原来的hibernateTemplate实例是否还存在

            if ( hibernateTemplate == null)

            {

                      //如果不存在,新建一个HibernateTemplate实例

                      hibernateTemplate = new HibernateTemplate(sessionFactory);

            }

            return hibernateTemplate;

}

            //返回全部的人的实例

       public List getPersons()

            {        

                      //通过HibernateTemplate的find方法返回Person的全部实例

              return getHibernateTemplate().find("from Person");

       }

            /**

             * 根据主键返回特定实例

             * @ return 特定主键对应的Person实例

             * @ param 主键值

       public News getNews(int personid)

            {

              return (Person)getHibernateTemplate().get(Person.class, new Integer(personid));

       }

            /**

             * @ person 需要保存的Person实例

             */

       public void savePerson(Person person)

            {                 

                      getHibernateTemplate().saveOrUpdate(person);

       }

            /**

             * @ param personid 需要删除Person实例的主键

             * /

       public void removePerson(int personid)

            {

                      //先加载特定实例

              Object p = getHibernateTemplate().load(Person.class, new Integer(personid));

                      //删除特定实例

              getHibernateTemplate().delete(p);

       }

}

分享到:
评论

相关推荐

    hibernate-release-4.2.2.Final

    理解并掌握其核心概念、配置方法以及整合框架的使用,将有助于提升项目的开发效率和代码质量。同时,了解并运用JAR包中的各个组件,可以更好地发挥Hibernate的潜能,为项目带来更高的灵活性和可维护性。

    hibernate-core-3.6.10.Final.jar.zip

    4. 使用Spring的HibernateTemplate或JPA的EntityManager进行数据库操作,这样可以在事务管理下安全地执行CRUD操作。 Spring还提供了`LocalSessionFactoryBean`,它可以自动读取Hibernate配置文件并创建...

    hibernate-release-5.2.2.Final.zip

    Hibernate可以很好地与Spring框架集成,通过Spring的`HibernateTemplate`或`SessionFactoryBean`简化事务管理和资源管理。 9. 性能优化: - 缓存策略:Hibernate提供了第一级缓存(Session级别的缓存)和第二级...

    hibernate-jar基本Jar包

    6. 整合Spring:若项目使用Spring框架,可以通过HibernateTemplate或SessionFactoryBean整合Hibernate,实现更简洁的数据库操作。 总结,Hibernate-jar是Hibernate框架的基础,它包含了所有必要的库和API,使开发者...

    spring-hibernate-example1

    本示例"spring-hibernate-example1"是结合Spring框架与Hibernate ORM(对象关系映射)工具的一个典型应用,旨在演示如何在MySQL数据库环境下进行数据操作。接下来,我们将深入探讨这两个框架以及它们在实际项目中的...

    Hibernate-api Hibernate文档

    这篇文档旨在提供对Hibernate API的深入理解,帮助开发者更高效地使用Hibernate进行数据库操作。 一、Hibernate概述 Hibernate是Java开发中广泛使用的ORM框架,它提供了一种在Java应用中持久化数据到关系数据库的...

    Spring_Spring_Hibernate_HibernateTemplate

    - 创建HibernateTemplate实例:使用SessionFactory创建HibernateTemplate,通常通过`setSessionFactory()`方法注入SessionFactory。 - 编写业务逻辑:调用HibernateTemplate提供的方法,如`save()`, `update()`, `...

    学生班级的struts2-hibernate-spring

    Struts2-Hibernate-Spring是Java Web开发中的一个经典组合,它们共同构成了MVC(Model-View-Controller)架构模式的基础。这个项目很可能是用来管理学生班级信息的一个应用,通过Struts2处理用户请求,Hibernate进行...

    Spring_2000_Spring_Hibernate_HibernateTemplate

    开发者只需调用预定义的方法,即可完成数据操作,降低了学习和使用Hibernate的门槛。 **Spring与Hibernate的整合** Spring通过HibernateTemplate提供了一种便捷的方式,将Hibernate的数据库操作纳入到Spring的管理...

    spring-hibernate-jotm 例子

    标题“spring-hibernate-jotm 例子”涉及的是一个整合Spring框架、Hibernate持久化框架以及JOTM(Java Open Transaction Manager)事务管理器的示例项目。这个项目旨在展示如何在Java应用程序中有效地管理和协调...

    struts2和spring4和hibernate-4源码.

    5. **Hibernate的映射机制**:探索Hibernate如何通过ORM将Java对象与数据库表关联,包括Entity、Mapping文件和注解的使用。 6. **整合与协同**:了解Struts2如何与Spring进行集成,如Action的依赖注入;以及Spring...

    Spring\ Spring\Hibernate-jar包

    - 使用Spring的HibernateTemplate或HibernateDaoSupport类进行数据库操作。 - 配置SessionFactory并在Spring中管理事务。 - 将Hibernate的SessionFactory注入到需要的地方,实现DAO层的解耦。 接下来的"-> ...

    HibernateTemplate 的常规用法.doc

    本节将深入探讨HibernateTemplate的常规用法。 HibernateTemplate提供了丰富的API,可以实现对数据库的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)等。以下是一些常用的方法: 1...

    struts-2.5.1-spring-4.2.7-hibernate-5.0.9

    这个压缩包文件 "struts-2.5.1-spring-4.2.7-hibernate-5.0.9" 提供了一个整合这三个框架的示例项目,方便开发者直接使用或学习如何将它们集成在一起。 Struts 2 是一个基于 Model-View-Controller (MVC) 架构的...

    hibernate-3.2.1.ga

    通过结合Spring框架,可以实现更高级别的数据访问层设计,例如使用HibernateTemplate或JPA的Repository接口。 总结,Hibernate 3.2.1 GA 是一个强大且成熟的ORM工具,为Java开发者提供了便利的数据操作方式。尽管...

    struts-hibernate-spring 集成jar包

    - Struts处理用户请求,Action调用业务逻辑方法,这些方法可以注入Spring管理的服务,从而使用由Spring托管的Hibernate Session进行数据操作。 在实际项目中,这三者集成后的优势在于: - 分离关注点:Struts处理...

    struts-spring-hibernate-_-integration

    3. **Spring-Hibernate集成**:配置Hibernate的SessionFactory Bean,包括数据库连接信息、方言、缓存等。Spring还提供了TransactionManager配置,用于事务管理。 4. **数据访问层设计**:创建DAO(Data Access ...

    HibernateTemplate的用法总结

    HibernateTemplate是Spring框架提供的一种操作Hibernate的方式,它简化了Hibernate的使用过程,使开发者无需关注Session的管理与事务控制,极大地提高了开发效率。本文将对HibernateTemplate的主要用法进行详细介绍...

    对hibernate的封装 HibernateTemplate

    **标题:“对hibernate的封装 HibernateTemplate”** 在Java Web开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。然而,直接使用Hibernate API进行数据库操作可能...

    HibernateTemplate的方法使用

    ### HibernateTemplate 的方法使用 #### 一、简介与配置方式 **HibernateTemplate** 是 Spring 框架中用于简化 Hibernate 使用的一个工具类。它通过 AOP(面向切面编程)的思想,封装了大量的 CRUD(创建、读取、...

Global site tag (gtag.js) - Google Analytics