spring配置sessionFactory

通过配置dataSource来配置sessionFactory

applicationContext.xml

<!-- 数据库配置 -->
   <!-- 定义数据源的信息 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		destroy-method="close">
		<property name="driverClass">
			<value>com.mysql.jdbc.Driver</value>
		</property>
		<property name="jdbcUrl">
			<value>jdbc:mysql://localhost:3306/test</value>
		</property>
		<property name="user">
			<value>root</value>
		</property>
		<property name="password">
			<value>1</value>
		</property>
		<property name="maxPoolSize">
			<value>80</value>
		</property>
		<property name="minPoolSize">
			<value>1</value>
		</property>
		<property name="initialPoolSize">
			<value>1</value>
		</property>
		<property name="maxIdleTime">
			<value>20</value>
		</property>
	</bean>
        <!--定义Hibernate的SessionFactory -->
	<!-- SessionFactory使用的数据源为上面的数据源 -->
	<!-- 指定了Hibernate的映射文件和配置信息 -->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
		<property name="mappingDirectoryLocations">
			<list>
				<value>classpath:beans</value>
			</list>
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
				<prop key="show_sql">true</prop>
				<prop key="hibernate.jdbc.batch_size">20</prop>
			</props>
		</property>
	</bean>

 使用 mappingDirectoryLocations 属性可以指定某目录下的 hbm 文件

 

补充:使用 mappingResources 属性要一个一个写 hbm 文件,或者写成*.hbm.xml(“classpath*:”指向 WEB-INF/classes 目录)

<property name="mappingResources">
         <list>
            <value>classpath*:beans/*.hbm.xml</value>
        </list>
    </property>

 

你可能感兴趣的:(spring)