<script src="http://wz.csdn.net/javascripts/vote.js" type="text/javascript"></script>
在Struts2中整合了Spring之後再整合Hibernate就非常容易了,在這裡我們需要用到Spring提供的ORM模組。通過這個模組Spring提供了對Hibernate、JDO、OJB和iBatis的整合。
在與Hibernate整合時我們需要用到Spring的LocalSessionFactoryBean類,這個類可以看作是連線Spring與Hibern ate的橋樑。
一.首先我們在Spring配置如下的兩個bean:
<o:p></o:p>
xml 程式碼
- <!-- 實現spring與hibernate的整合 -->
- <bean id="sessionFactory"
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="configLocation">
- <value>classpath:hibernate.cfg.xml</value>
- </property>
- <property name="dataSource">
- <ref bean="dataSource"/>
- </property>
- </bean>
- <!-- 配置基本資料來源 -->
- <bean id="dataSource"
- class="org.apache.commons.dbcp.BasicDataSource">
- <property name="driverClassName">
- <value>com.mysql.jdbc.Driver</value>
- </property>
- <property name="url">
- <value>jdbc:mysql://localhost:3306/test</value>
- </property>
- <property name="username">
- <value>root</value>
- </property>
- <property name="password">
- <value>111111</value>
- </property>
- </bean>
二.使用HibernateDaoSupport或者HibernateTemplate運算元據庫<o:p></o:p>
使用Spring提供的這兩個類就可以很容易的運算元據庫了。我們在Spring中配置一個HibernateTemplate的例項bean:<o:p></o:p>
<o:p></o:p>
xml 程式碼
- <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
- <property name="sessionFactory">
- <ref bean="sessionFactory"/>
- </property>
- </bean>
將hibernateTemplate裝配到我們的service中後就可以直接利用hibernateTemplate來操縱資料庫了。不過平常使用較多的都是Hibernate的Dao支撐類,Spring採用的是模板—回撥設計模式,能夠讓我們專注於特定方法的實現。上面兩個bean為我們提供了很多資訊dataSource為我們提供了資料連線的相關資訊,至於LocalSessionFactoryBean,它裡面提供的很多資訊都是與Hibernate配置檔案中的內容對應的,有些資訊我們可以通過LocalSessionFactoryBean設定也可以通過配置檔案來進行設定。比方說,我們可以通過設定LocalSessionFactoryBean的mappingResources屬性來指定Hibernate對映檔案,也可以在hibernate.cfg.xml中利用mapping元素的resource屬性來指定對映檔案,它們的效果是相同的。還有hibernateProperties屬性對應於配置檔案中的property元素等等。<o:p></o:p>