第三讲 Spring 持久层封装、事务控制

持久层:传统的JDBC、框架技术(HibernateJDOIBatis等)

 

Spring支持的持久层:传统的JDBCHibernate

 

传统JDBC支持:(JdbcDaoSupport、JdbcTemplate)

1. 导入Spring(前4个jar)。

2. 在applicationContext.xml中配置数据库的连接信息。(DirverManagerDataSource、BasicDataSource)

3. 配置dao,设置数据源。

4. 获取对象,执行相关操作。

 

Hibernate支持:(HibernateDaoSupport、HibernateTemplae)

注意哟:先导入Spring、再导入Hibernate支持。(MyEclipse8.6)

跟 JDBC配置类似。

事务管理:

 

<!-- 配置数据连接 -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="configLocation"
            value="file:src/hibernate.cfg.xml">
        </property>
    </bean>
    
    <!-- 配置事务对象 -->
    <bean id="tran" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <!-- 对事务的几种传播特性进行配置 -->
    <tx:advice id="tranAdv" transaction-manager="tran">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED" isolation="READ_COMMITTED"/>
            <tx:method name="update*" propagation="REQUIRED" isolation="READ_COMMITTED"/>
            <tx:method name="delete*" propagation="REQUIRED" isolation="READ_COMMITTED"/>
            <tx:method name="*" read-only="true"/>
        </tx:attributes>
    </tx:advice>
    
    <!-- 必须将事务切入才可使用 -->
    <aop:config>
        <aop:pointcut expression="execution(* com.zuxia.dao.impl.*.*(..))" id="pointCut"/>
        <aop:advisor advice-ref="tranAdv" pointcut-ref="pointCut" />
    </aop:config>

    <bean id="ddao" class="com.zuxia.dao.impl.DeptDAO">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>

 

 

 

posted on 2012-11-05 09:36  somewhere!  阅读(297)  评论(0编辑  收藏  举报

导航