首页 > 学院 > 开发设计 > 正文

Spring--4.Spring整合hibernate

2019-11-11 02:17:45
字体:
来源:转载
供稿:网友

五、SPRing整合hibernate

 

1. Spring 整合 Hibernate 整合什么 ?

 

1). 有IOC 容器来管理 HibernatesessionFactory

2). 让 Hibernate 使用上 Spring 的声明式事务

 

2. 整合步骤:

 

(1) 加入 hibernate

1>jar 包 , c3p0 与 MySQL驱动

Hibernate:

C3p0 与 MySQL驱动:

 

 

2>添加 hibernate 的配置文件:

hibernate.cfg.xml

<session-factory>    <!-- 配置 hibernate 的基本属性 -->    <!-- 1. 数据源需配置到 IOC 容器中, 所以在此处不再需要配置数据源 -->    <!-- 2. 关联的 .hbm.xml 也在 IOC 容器配置 SessionFactory 实例时在进行配置 -->    <!-- 3. 配置 hibernate 的基本属性: 方言, SQL 显示及格式化, 生成数据表的策略以及二级缓存等. -->       <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>       <property name="hibernate.show_sql">true</property>    <property name="hibernate.format_sql">true</property>       <property name="hibernate.hbm2ddl.auto">update</property>       <!-- 配置 hibernate 二级缓存相关的属性. -->       </session-factory>

 

 

3>编写了持久化类对应的.hbm.xml 文件。

  

 

(2) 加入 Spring

 

1>jar 包

 

2>加入 Spring 的配置文件

db.properties:

 

jdbc.user=rootjdbc.passWord=rootjdbc.driverClass=com.mysql.jdbc.Driverjdbc.jdbcUrl=jdbc:mysql:///spring7 jdbc.initPoolSize=5jdbc.maxPoolSize=10

 

applicationContext.xml:

<!-- 1.配置数据源: 导入资源文件 -->    <context:property-placeholder location="classpath:db.properties"/>       <bean id="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource">       <property name="user"value="${jdbc.user}"></property>       <property name="password"value="${jdbc.password}"></property>       <property name="driverClass"value="${jdbc.driverClass}"></property>       <property name="jdbcUrl"value="${jdbc.jdbcUrl}"></property>             <property name="initialPoolSize"value="${jdbc.initPoolSize}"></property>       <property name="maxPoolSize"value="${jdbc.maxPoolSize}"></property>    </bean>       <!-- 2.配置hibernate的sessionFactory 实例:通过spring提供的LocalSessionFactoryBean 进行配置-->    <bean id="sessionFactory"class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">       <!-- 2.1 配置数据源属性 -->       <property name="dataSource"ref="dataSource"></property>       <!-- 2.2 配置hibernate配置文件的位置及名称 -->       <property name="configLocation"value="classpath:hibernate.cfg.xml"></property>       <!-- 2.3 配置hibernate映射文件的位置及名称,可以使用通配符 -->       <property name="mappingLocations"           value="classpath:spring/hibernate/entities/*.hbm.xml"></property>          </bean>       <!-- 3.配置Spring 的声明式事务 -->    <!-- 3.1 配置事务管理器 -->    <bean id="transactionManager"class="org.springframework.orm.hibernate4.HibernateTransactionManager">       <property name="sessionFactory"ref="sessionFactory"></property>    </bean>       <!-- 3.2 配置事务属性,需要事务管理器 -->    <tx:advice id="txAdvice"transaction-manager="transactionManager">       <tx:attributes>           <tx:method name="get*"read-only="true"/>           <tx:method name="*"/>       </tx:attributes>    </tx:advice>       <!-- 3.3 配置事务切点,并把切点和事务属性关联起来 -->    <aop:config>       <aop:pointcut expression="execution(*spring.hibernate.service.*.*(..))" id="txPiontcut"/>    </aop:config>

(3) 整合.

 

3. 编写代码

源代码文件:http://download.csdn.net/detail/QQ_26553781/9749257
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表