首页 > 代码库 > Spring集成Hibernate3

Spring集成Hibernate3

Spring集成Hibernate3

Spring集成Hibernate3同集成Jdbc一样,提供了模板,使得我们只需要关心数据表的操作,资源的关闭打开、异常的处理交给Spring来完成,这个模板就是HibernateTemplate。HibernateTemplate(DAO支持类)通过SessionFactory来获取,所以看一下如何在XML中配置SessionFactory

//数据源

 <bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 

      <propertyname="driverClassName"value="com.mysql.jdbc.Driver "> </property> 

      <propertyname="url"value="jdbc:mysql://localhost:3306/dataBase">  </property> 

      <propertyname="username"value="root"></property> 

      <propertyname="password"value=""></property> 

    </bean>

 

//SessionFactory Bean

beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

            //数据源

        <propertyname="dataSource">

            <refbean="dataSource"/>

        </property>

//其他一些属性、例如:方言、是否打印SQL。。。。

        <propertyname="hibernateProperties">

            <props>

                <propkey="hibernate.dialect">

                    org.hibernate.dialect.MySQLDialect

                </prop>

            </props>

        </property>

       

       

//映射文件

<propertyname="mappingResources">

            <list>

                <value>hibernate/Users.hbm.xml</value>

            </list>

        </property>

</bean>

 

 

在应用程序中可以通过SessionFactory sf= getBean(“sessionFactory”,SessionFactory.class);

HibernateTemplate ht=new  HibernateTemplate(sf);

 

然后通过HibernateTemplate操作表。

 

ApplicationContextac=new ClassPathXmlApplicationContext("applicationContext.xml");

       

        SessionFactorysessionFactory=ac.getBean("sessionFactory",SessionFactory.class);

       

        HibernateTemplate  ht=newHibernateTemplate(sessionFactory);

       

        Users user=new Users();

        user.setUname("zhangsan");

        user.setAge(1);

       

        ht.save(user);

 

我们可以看出,该操作省略了资源的打开与关闭、异常的处理。

Spring集成Hibernate3