Hibernate+Spring配置的几个小技巧
2007-07-06 22:28
337 查看
1、引入properties文件,定义变量
在Spring配置文件中可以引入一个或者多个properties文件来定义变量
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
<!--
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:jdbc-sqlserver.properties</value>
</list>
-->
</property>
</bean>
应用一个properties文件,直接用<value></value>就可以了,引用多个可采用<list></list>的方式。classpath:指定的是编译目标路径,在Web应用中指定的是WEB-INF/classes目录。
jdbc.properties文件内容:
mysql.driver=org.gjt.mm.mysql.Driver
mysql.url=jdbc:mysql://localhost:3306/hibernate
mysql.username=root
mysql.password=mysql
则我们在定义dataSource时可引用这些变量,如下所示:
<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${mysql.driver}</value>
</property>
<property name="url">
<value>${mysql.url}</value>
</property>
<property name="username">
<value>${mysql.username}</value>
</property>
<property name="password">
<value>${mysql.password}</value>
</property>
</bean>
2、定义LocalSessionFactoryBean时不使用hibernate.cfg.xml,直接定义
使用hibernate.cfg.xml时如下:
<bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
不使用hibernate.cfg.xml时如下:
<!-- dataSource -->
<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/hibernate</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>
<!-- Hibernate SessionFactory Definition -->
<bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="mysqlDataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>User.hbm.xml</value>
</list>
</property>
</bean>
建议使用第一种方式,这样Hibernate的配置信息单独放置在hibernate.cfg.xml中,提高了bean.xml的可读性。
在Spring配置文件中可以引入一个或者多个properties文件来定义变量
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:jdbc.properties</value>
<!--
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:jdbc-sqlserver.properties</value>
</list>
-->
</property>
</bean>
应用一个properties文件,直接用<value></value>就可以了,引用多个可采用<list></list>的方式。classpath:指定的是编译目标路径,在Web应用中指定的是WEB-INF/classes目录。
jdbc.properties文件内容:
mysql.driver=org.gjt.mm.mysql.Driver
mysql.url=jdbc:mysql://localhost:3306/hibernate
mysql.username=root
mysql.password=mysql
则我们在定义dataSource时可引用这些变量,如下所示:
<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${mysql.driver}</value>
</property>
<property name="url">
<value>${mysql.url}</value>
</property>
<property name="username">
<value>${mysql.username}</value>
</property>
<property name="password">
<value>${mysql.password}</value>
</property>
</bean>
2、定义LocalSessionFactoryBean时不使用hibernate.cfg.xml,直接定义
使用hibernate.cfg.xml时如下:
<bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
不使用hibernate.cfg.xml时如下:
<!-- dataSource -->
<bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.gjt.mm.mysql.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/hibernate</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>mysql</value>
</property>
</bean>
<!-- Hibernate SessionFactory Definition -->
<bean id="mysessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="mysqlDataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>User.hbm.xml</value>
</list>
</property>
</bean>
建议使用第一种方式,这样Hibernate的配置信息单独放置在hibernate.cfg.xml中,提高了bean.xml的可读性。
相关文章推荐
- Spring+Hibernate框架下MySql读写分离,主从数据库配置
- 使用Spring的mappingDirectoryLocations来配置Hibernate映射文件
- eclipse配置使spring hibernate struts2 的xml节点自动提示
- struts2,hibernate4,spring3配置时问题汇总及解决办法
- Hibernate和ibatis在同一个webapp中混合使用在spring中的配置方法
- 支持hibernate注解和xml共存的Spring配置
- Spring+hibernate 配置文件
- springMVC+spring+hibernate配置
- Spring3+Hibernate3(Jpa) 配置多个数据源的解决方案(基于注解)
- 最新版的SSH框整合(Spring 3.1.1 + Struts 2.3.1.2 + BoneCP + Hibernate 4.1)更新增加C3P0和EhCache配置
- 图解MyEclipse配置struts+hibernate+spring+FreeMarker
- spring和hibernate配置文件整合
- Hibernate 事务处理和spring中配置事务
- hibernate+spring配置详解
- spring hibernate 配置文件模板
- spring整合hibernate的一个配置文件
- spring配置hibernate的sessionFactory
- spring+hibernate 配置文件(applicationContext.xml)实例
- Spring中关于Hibernate的配置文件
- SSH整合Spring、Struts、Hibernate、web配置文件