今天我们把Spring的SessionFactory交给Spring的IoC容器来管理……
其实很简单
第一种方式:
hiberante.cfg.xml配置如下:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
" http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
 <property name="hibernate.hbm2ddl.auto">update</property>
 <property name="hibernate.dialect">
  org.hibernate.dialect.MySQLDialect
 </property>
 <property name="hibernate.show_sql">true</property>
 <mapping resource="com/oristand/hibernate/pojo/User.hbm.xml" />
</session-factory>
</hibernate-configuration>
接着配置applicationContext-hibernate.xml
<beans xmlns=" http://www.springframework.org/schema/beans"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop=" http://www.springframework.org/schema/aop"
xmlns:tx=" http://www.springframework.org/schema/tx"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<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/ssh</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 local="dataSource" />
 </property>
 <property name="configLocation">
      <value>classpath:hibernate.cfg.xml</value>
 </property>
</bean>
</beans>
第二种方式,不要hiberante.cft.xml,直接在applicationContext-hibernate.xml中配置:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=" http://www.springframework.org/schema/beans"
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop=" http://www.springframework.org/schema/aop"
xmlns:tx=" http://www.springframework.org/schema/tx"
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<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/ssh</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 local="dataSource" />
 </property>
 <property name="mappingResources">
  <list>
   <!--
    !这里填写hibernate的映射文件路径
   -->
   <value>com/oristand/hibernate/pojo/User.hbm.xml</value>
  </list>
 </property>
 <property name="hibernateProperties">
  <props>
   <!--
    配置Hibernate的方言
   -->
   <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
   </prop>
   <prop key="hibernate.hbm2ddl.auto">update</prop>
   <!--
    输入由Hibernate生成的SQL语句,如果在hibernate.cfg.xml中也指定的话,会生成两条语句,在产品中最好关闭,即设为false
   -->
   <prop key="hibernate.show_sql">true</prop>
  </props>
 </property>
</bean>
</beans>