Spring集成Hibernate3

Spring集成Hibernate3

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

//数据源

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

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

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

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

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

    </bean>

 

//SessionFactory Bean

bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

            //数据源

        <property name="dataSource">

            <ref bean="dataSource"/>

        </property>

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

        <property name="hibernateProperties">

            <props>

                <prop key="hibernate.dialect">

                    org.hibernate.dialect.MySQLDialect

                </prop>

            </props>

        </property>

       

       

//映射文件

<property name="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);

 

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。