Spring与hibernate的整合(基于注解

本文介绍了一个使用Spring框架和Hibernate ORM技术实现的数据源配置案例。通过配置applicationContext.xml文件,利用DBCP数据库连接池来设置数据源参数,并通过properties文件进行参数的外部化管理。此外,还展示了如何配置Hibernate的SessionFactory及事务管理器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

applicationContext.xml

${}取值是在专门的一个properties文件中的,便于集中管理(分两级,也可在这个applicationContext.xml直接赋值)加载properties便于直接引用

 <!-- 数据源配置,使用应用内的DBCP数据库连接池 -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <!-- Connection Info -->
  <property name="driverClassName" value="${jdbc.driver}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
  <property name="defaultAutoCommit" value="true"/>
 </bean>

 <!-- Hibernate配置sessionFactory使用了DBCP数据源 -->
 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="namingStrategy">
   <bean class="org.hibernate.cfg.ImprovedNamingStrategy" />
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
    <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
    <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
    <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
    <prop key="hibernate.cache.use_second_level_cache">false</prop>
    <prop key="hibernate.cache.use_query_cache">false</prop>
   </props>
  </property>
  <property name="packagesToScan" value="com.dayang.zunmi.model" />//操作些包下的实体
  <property name="eventListeners">
   <map>
    <entry key="save-update">
     <list>
      <bean class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener" />
     </list>
    </entry>
   </map>
  </property>
 </bean>

 <!-- 事务管理器配置, Hibernate单数据源事务 -->
 <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
 </bean>

 <!-- 使用annotation定义事务 -->
 <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />

 

applicationContext.properties

#mysql version database setting
jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/databaseName??useUnicode=true&characterEncoding=utf-8
jdbc.url=jdbc:mysql://10.0.0.200:3306/databaseName??useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

#hibernate settings
#hibernate.show_sql=true
hibernate.show_sql=false
hibernate.format_sql=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值