通过配置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中配置DataSource及SessionFactory, 包括定义数据源信息、设置SessionFactory使用的数据源和指定Hibernate映射文件及配置信息等。同时,还探讨了使用mappingDirectoryLocations属性和mappingResources属性的不同方式。
1582

被折叠的 条评论
为什么被折叠?



