spring+hibernate

由于最近参加项目,使用到了spring+hiberante框架,鉴于一直对这块的配置模糊不清,所以整理学习。

参考网址:http://www.cnblogs.com/byqh/p/5595384.html

                   http://blog.csdn.net/startym/article/details/3342132

                   http://www.cnblogs.com/kevin-yuan/archive/2012/09/18/2690297.html  推荐

                   http://www.cnblogs.com/JamKong/p/4548785.html  HD项目就是采用的这种配置。

Spring整合Hibernate的时候使用hibernate.cfg.xml

Spring整合Hibernate其实也就是把Hibernate的SessionFactory对象封装成:org.springframework.orm.hibernate3.LocalSessionFactoryBean

在由自己来保管和控制。
在配置LocalSessionFactoryBean的时候,如果要用到hibernate.cfg.xml配置文件,那么就要配置:
configLocations属性,这个属性就是叫Spring在配置LocalSessionFactoryBean的时候去configLocations调用该配置。
<bean name="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
    <!-- 使用hibernate.cfg.xml配置文件 -->  
    <property name="configLocations">     
        <value>classpath:hibernate.cfg.xml</value>
    </property>
  ....
</bean>
如果,没有配置这个属性的话,hibernate.cfg.xml配置文件会被忽略的。也就是没有效果。
因为Spring的applicationContext.xml文件可以直接配置hibernate.cfg.xml中的所有内容,所以可以不需要配置hibernate.cfg.xml。
比如说:
  • 在hibernate.cfg.xml中配置数据库的其它配置

<!-- 设置数据库方言 -->
<property name="connection.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
  • 在Spring的applicationContext.xml文件中配置数据库的其它配置

<!-- 相当于hibernate.cfg.xml配置的信息 -->
<property name="hibernateProperties">
   <props>	
       <prop key="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</prop>
       <prop key="hibernate.show_sql">true</prop>
       <prop key="hibernate.hbm2ddl.auto">update</prop>
    </props>
</property>
########### ########### ########### ########### ########### ########### ###########
  • 在hibernate.cfg.xml中配置数据库连接池

<!-- 设置数据库驱动 -->
<property name="connection.driver_class">com.mysql.jdbc.driver</property>
<!-- 设置数据库链接地址 -->
<property name="connection.url">jdbc:mysql://localhost:3306/oa</property>
<!-- 设置数据库账户 -->
<property name="connection.username">root</property>
<!-- 设置数据库密码 -->
<property name="connection.password"></property>......
  • 在Spring的applicationContext.xml文件中配置数据库连接池

<!-- 配置数据链接池 -->
<property name="dataSource"><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
<!-- 从jdbc.properties配置文件中获取值 -->
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/oa"></property>
<!-- 从jdbc.properties配置文件中获取值 -->
<property name="driverClass" value="com.mysql.jdbc.driver"></property>	
<!-- 从jdbc.properties配置文件中获取值 -->	
<property name="user" value="root"></property>			    
<!-- 从jdbc.properties配置文件中获取值 -->		
<property name="password" value=""></property>			

<property name="initialPoolSize" value="3">
</property> .....</property>
  • 在hibernate.cfg.xml中配置实体对象的映射文件

在hibernate.cfg.xml中配置实体对象的映射文件:
<mapping resource="cn/czk/oa/domain/Department.hbm.xml" />
<mapping resource="cn/czk/oa/domain/Privilege.hbm.xml" />
<mapping resource="cn/czk/oa/domain/Role.hbm.xml" />
<mapping resource="cn/czk/oa/domain/User.hbm.xml" />
  • 在Spring的applicationContext.xml中配置实体对象的映射文件

<bean name="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
	.....	
	<!-- 配置映射文件 -->	
	<property name="mappingResources">		
	  <list> 			
	     <value>cn/czk/oa/domain/User.hbm.xml</value>
	  	<value>cn/czk/oa/domain/Department.hbm.xml</value>			
	  	<value>cn/czk/oa/domain/Role.hbm.xml</value>			
	  	<value>cn/czk/oa/domain/Privilege.hbm.xml</value>		
	  </list>	
	</property>
  .....
</bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值