Hibernate+Spring配置的几个小技巧

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的可读性。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值