Spring的LocalSessionFactoryBean類

linweihan1984發表於2007-10-16
<script src="http://wz.csdn.net/javascripts/vote.js" type="text/javascript"></script>

Struts2中整合了Spring之後再整合Hibernate就非常容易了,在這裡我們需要用到Spring提供的ORM模組。通過這個模組Spring提供了對HibernateJDOOJBiBatis的整合。

在與Hibernate整合時我們需要用到SpringLocalSessionFactoryBean類,這個類可以看作是連線SpringHibern ate的橋樑。

一.首先我們在Spring配置如下的兩個bean

<o:p></o:p>

xml 程式碼
  1.     <!-- 實現spring與hibernate的整合 -->  
  2.   
  3. <bean id="sessionFactory"  
  4.   
  5. class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  6.   
  7.     <property name="configLocation">  
  8.   
  9.        <value>classpath:hibernate.cfg.xml</value>  
  10.   
  11.     </property>  
  12.   
  13.     <property name="dataSource">  
  14.   
  15.        <ref bean="dataSource"/>  
  16.   
  17.     </property>  
  18.   
  19. </bean>  
  20.   
  21. <!-- 配置基本資料來源 -->  
  22.   
  23. <bean id="dataSource"  
  24.   
  25.     class="org.apache.commons.dbcp.BasicDataSource">  
  26.   
  27.     <property name="driverClassName">  
  28.   
  29.        <value>com.mysql.jdbc.Driver</value>  
  30.   
  31.     </property>  
  32.   
  33.     <property name="url">  
  34.   
  35.        <value>jdbc:mysql://localhost:3306/test</value>  
  36.   
  37.     </property>  
  38.   
  39.     <property name="username">  
  40.   
  41.        <value>root</value>  
  42.   
  43.     </property>  
  44.   
  45.     <property name="password">  
  46.   
  47.        <value>111111</value>  
  48.   
  49.     </property>  
  50.   
  51. </bean>  

   

二.使用HibernateDaoSupport或者HibernateTemplate運算元據庫<o:p></o:p>

使用Spring提供的這兩個類就可以很容易的運算元據庫了。我們在Spring中配置一個HibernateTemplate的例項bean<o:p></o:p>

<o:p></o:p>

xml 程式碼
  1. <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">  
  2.   
  3.         <property name="sessionFactory">  
  4.   
  5.             <ref bean="sessionFactory"/>  
  6.   
  7.         </property>  
  8.   
  9. </bean>  

   

hibernateTemplate裝配到我們的service中後就可以直接利用hibernateTemplate來操縱資料庫了。不過平常使用較多的都是HibernateDao支撐類,Spring採用的是模板回撥設計模式,能夠讓我們專注於特定方法的實現。上面兩個bean為我們提供了很多資訊dataSource為我們提供了資料連線的相關資訊,至於LocalSessionFactoryBean它裡面提供的很多資訊都是與Hibernate配置檔案中的內容對應的,有些資訊我們可以通過LocalSessionFactoryBean設定也可以通過配置檔案來進行設定。比方說,我們可以通過設定LocalSessionFactoryBeanmappingResources屬性來指定Hibernate對映檔案,也可以在hibernate.cfg.xml中利用mapping元素的resource屬性來指定對映檔案,它們的效果是相同的。還有hibernateProperties屬性對應於配置檔案中的property元素等等。<o:p></o:p>

相關文章