`

Spring中配合hibernate使用的简单例子

阅读更多

最近在看SPRING和hibernate,学习了spring和hibernate之间整合,下面举出一个例子予以说明.
 
    首先,可以注入的是sessionfactory,因为sessionfactory的Datasource可以用spring注入.比如一个下面的例子,是对对象进行增加的

接口IUserDAO:
public interface IUserDAO {
    public void insert(User user);
 }
User.java:
public class User {
      private String name;
 
       public String getName() {
        return name;
    }
   
    public void setName(String name) {
        this.name = name;
    }
}

UserDao.java:
(这里省去了import等东西了)
public class UserDAO implements IUserDAO {
    private SessionFactory sessionFactory;
   
    public UserDAO() {
    }
   
    public UserDAO(SessionFactory sessionFactory) {
        this.setSessionFactory(sessionFactory);
    }
    
//注入sessionFactory
    public void setSessionFactory(
                        SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }
   
    public void insert(User user) {
       Session session = sessionFactory.openSession();
           Transaction tx= session.beginTransaction();
         session.save(user); 
         tx.commit();
        session.close();
    }

关键的base-config.xml:
<beans> 

//基本的datasource,存放实际连接串等东西
    <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://localhost:3306/SpringHibernateDemo</value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>123456</value>
        </property> 
    </bean>
   
<bean id="sessionFactory"  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
        <property name="dataSource">
            <ref bean="dataSource"/>
        </property>
        <property name="mappingResources">
            <list>
                <value>liaoo/springhibernatear/User.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
            </props>
        </property>
    </bean>


    <bean id="userDAO" class="liao.springhibernate.UserDAO">
        <property name="sessionFactory">
            <ref bean="sessionFactory"/>
        </property>
    </bean>

可以看到,这里对userDAO类的sessionFactory进行了注入,而参考到其中的bean-config.xml里sessionFactory里实现.可以看到,可以将datasource注入到LocalSessionFactoryBean中.要注意的是org.springframework.orm.hibernate3.LocalSessionFactoryBean是hibernate 3整合使用的,org.springframework.orm.hibernate.LocalSessionFactoryBean是hibernate 2中使用的.

最后是测试程序
public static void main(String[] args) {
        ApplicationContext context =
            new FileSystemXmlApplicationContext(
                    "beans-config.xml");
        
              IUserDAO userDAO =  (IUserDAO) context.getBean("userDAO");
               User user = new User();
            user.setName("jackyrong");
             userDAO.insert(user);

分享到:
评论

相关推荐

    Spring Hibernate事务实例

    在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全面的后端应用程序框架,提供了依赖注入、AOP(面向切面编程)等功能,而Hibernate则是一个强大的对象关系映射(ORM)工具,用于简化...

    Maven+springMVC+Hibernate简单注册和登陆

    通过这个项目,开发者可以学习到如何整合这三个强大的工具,理解它们在实际开发中的作用和配合方式,以及如何实现基本的用户管理功能。同时,这也是一个很好的起点,为进一步学习和扩展复杂的Web应用打下坚实的基础...

    struts2+spring2+hibernate3注册查询搜索分页实例

    在本实例中,Spring2可以管理Struts2的Action类,实现Action类间的依赖关系,同时也可以配置数据访问层(DAO)以连接数据库。Spring2的AOP(面向切面编程)特性,可以用于事务管理,确保注册等操作的原子性。 再者...

    轻量级Java EE企业应用实战(第4版) Struts 2+Spring 4+Hibernate整合开发 光盘 源码

    《轻量级Java EE企业应用实战(第4版)》这本书深入探讨了Struts 2、Spring 4和Hibernate这三大框架的整合开发,旨在帮助读者掌握如何在实际项目中高效构建Java EE应用。SSH(Struts 2、Spring、Hibernate)是Java ...

    Struts2+spring2+hibernate3实例源码-java源码

    在本实例中,Spring可能会负责bean的配置、事务管理以及与Hibernate的集成。 **Hibernate3** 是一款持久化框架,它简化了数据库操作,将对象和关系数据库之间的映射(ORM)抽象化。Hibernate支持HQL(Hibernate ...

    spring3.0.6+hibernate3.6.10+mysql包

    标题中的“spring3.0.6+hibernate3.6.10+mysql包”指的是一项集成开发环境的构建,它包含了Spring框架的3.0.6版本,Hibernate ORM框架的3.6.10版本,以及适用于Java应用程序连接MySQL数据库的驱动包。这些组件都是...

    Extjs + Spring MVC + hibernate + mysql

    在这个项目中,"shopping1.5"可能是示例应用程序的名称,它可能是一个电子商务平台的实现,演示了如何使用ExtJS创建前端界面,Spring MVC处理业务逻辑,Hibernate进行数据持久化,以及MySQL存储数据。这个例子对于...

    spring4搭配hibernate5和mysql的项目Demo

    在本项目Demo中,"spring4搭配hibernate5和mysql"揭示了现代Web应用程序开发中的关键技术栈。Spring框架是Java企业级应用的事实标准,而Hibernate是领先的ORM(对象关系映射)解决方案,用于简化数据库操作。MySQL则...

    SpringMVC、spring、hibernate简单整合实例(注解开发,附开发流程)

    这个“SpringMVC、spring、hibernate简单整合实例”通过注解开发的方式,旨在帮助初学者理解这三个框架如何协同工作。 SpringMVC是Spring框架的一个模块,主要负责Web应用的Model-View-Controller(MVC)架构。它的...

    spring+hibernate+spring小例子

    标题中的“spring+hibernate+spring”是一个典型的Java企业级开发组合,通常指的是Spring框架、Hibernate持久化框架以及Spring的MVC模块。这个小例子可能是为了帮助初学者理解这三个技术如何协同工作来构建一个完整...

    spring+hibernate代码实例集

    2.2 Hibernate默认支持JTA(Java Transaction API)事务,Spring可以配置JtaTransactionManager,配合Hibernate实现全局事务管理。在测试环境中,通常使用PlatformTransactionManager,如...

    Struts1+Spring3.0+Hibernate3.3 练习登录注册的例子

    Struts1、Spring3.0和Hibernate3.3是Java Web开发中的三个核心框架,它们在企业级应用中被广泛使用。这个练习项目是为初学者设计的,旨在帮助他们理解这三个框架如何协同工作,实现一个基本的登录注册功能。 **...

    struts2+spring2.5+hibernate3整合经典实例

    在这个经典实例中,我们将深入探讨如何在MyEclipse 5.1环境下,利用这三个框架进行项目集成,并与MySQL 5数据库配合使用。 **Struts2** 是一个强大的MVC(Model-View-Controller)框架,它继承了Struts1的优点并...

    Spring3Hibernate4整合jar包

    在整合过程中,开发者通常会创建一个 Hibernate 的 SessionFactory 实例,并将其注入到 Spring 的 Bean 中。接着,Spring 会根据配置管理 SessionFactory 的生命周期,以及在需要时为 DAO 层提供 Session。同时,还...

    Spring与Hibernate结合使用

    同时,Spring也支持JPA(Java Persistence API),可以配合Hibernate等ORM框架使用。 2. **Hibernate ORM**: - **对象关系映射**:Hibernate将数据库中的表映射为Java对象,反之亦然,使得开发者可以使用面向对象...

    osworkflow2.8基于Spring+Hibernate

    在Java应用中,osworkflow常常与Spring和Hibernate这两个主流的框架结合使用,以实现业务流程的自动化处理。本篇文章将深入探讨如何在Spring和Hibernate的环境下集成osworkflow2.8,以及在此基础上实现高效的工作流...

    struts2+spring2.5+hibernate3.2 例子

    此外,Spring还包含了Spring MVC,一个类似于Struts2的Web MVC框架,可以与Struts2配合使用,提供更丰富的控制层解决方案。 **Hibernate3.2** Hibernate是一个对象关系映射(ORM,Object-Relational Mapping)框架...

    Struts+hibernate+spring学习实例

    Struts、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责不同的职责,组合使用能够构建出高效、灵活的企业级应用程序。本实例旨在帮助初学者和J2EE开发者更好地理解和运用这三个框架的集成。 Struts是...

    连接池与Spring,Hibernate结合

    通过Spring的`LocalSessionFactoryBean`,我们可以创建一个SessionFactory实例,该实例会管理Hibernate的Session。配置文件中需要指定数据库连接信息、实体类的扫描路径、Hibernate配置文件等。 为了实现Spring与...

    some simple demo about hibernate3.2 and spring2.5

    2. **事务管理**: Spring通过PlatformTransactionManager接口管理事务,通常配合Hibernate的HibernateTransactionManager。 3. **HibernateDaoSupport**: Spring提供此基类,方便DAO层集成Hibernate,提供...

Global site tag (gtag.js) - Google Analytics