`
bcc123hf
  • 浏览: 48362 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring事务说明和简单实例-1

阅读更多
spring事务一为"声明式,一为"可编程式",
1,可编程式:
TransactionTemplate,HibernateTemplate,JdbcTemplate为编程式,
在我做项目时,Hibenrate常用Dao extends HibernateDaoSupport;
Jdbc常在jdbcDao层把jdbcTemplate注入进去,
这样访问数据库时,会自动打开Session,开启事务.
public class SysUserDAO extends HibernateDaoSupport  {
public List findByUserId(Integer userId){
HibernateTemplate ht = getHibernateTemplate();
ht.setCacheQueries(true);

StringBuffer hql = new StringBuffer(" from SysUser su where 1=1 and su.userId="+userId);
List list = ht.find(hql.toString());
return list;
}
    public void save(SysUser transientInstance) {
        log.debug("saving SysUser instance");
        try {
            getHibernateTemplate().saveOrUpdate(transientInstance);
            log.debug("save successful");
        } catch (RuntimeException re) {
            log.error("save failed", re);
            throw re;
        }
    }

}

public class JdbcSysUserDAO {


private JdbcTemplate jdbcTemplate;


public JdbcTemplate getJdbcTemplate() {
return jdbcTemplate;
}

public void setJdbcTemplate(JdbcTemplate nanguajdbcTemplate) {
this.jdbcTemplate = nanguajdbcTemplate;
}
}
配置文件:
spring.xml
<bean id="dataSourc" .../>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>

spring-dao.xml
<bean id="sysUserDao" class=..>
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="jdbcSysUserDao class=..>
<property name="jdbcTemplate">
<ref bean="jdbcTemplate" />
</property>
</bean>
分享到:
评论

相关推荐

    spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.5.1.jar

    在深入理解`spring-cglib-repack-3.2.4.jar`和`spring-objenesis-repack-2.5.1.jar`这两个jar包之前,我们先来了解一下Spring框架的核心概念。 Spring框架的核心包括依赖注入(Dependency Injection,DI)和面向切...

    spring-tx事务管理实例

    本实例将深入探讨Spring事务管理的实现与应用。 首先,Spring事务管理分为编程式事务管理和声明式事务管理两种方式。编程式事务管理是通过调用TransactionTemplate或直接使用PlatformTransactionManager接口来控制...

    spring-cglib-repack-3.2.0.jar和spring-objenesis-repack-2.1.jar

    总的来说,`spring-cglib-repack-3.2.0.jar`和`spring-objenesis-repack-2.1.jar`是Spring框架正常运行的关键组成部分,它们分别负责动态子类生成和无参构造函数对象的快速实例化,对于理解和优化Spring应用的性能有...

    Spring框架(spring-framework-5.2.6.RELEASE)的jar包

    1. **Core Container**:这是Spring的基础,包括Core和Beans模块,它们提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)的基础。Core模块提供了ApplicationContext...

    spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar

    例如,Spring的事务管理、缓存管理和性能监控等功能,都可能依赖于CGlib动态代理。`repack`通常意味着这个库已经被重新打包,可能包含了特定的修改或优化,以便更好地与其他组件集成。 其次,`spring-objenesis-...

    spring 简单实例 事务回滚

    总之,这个“spring简单实例 事务回滚”案例为我们提供了一个学习Spring事务管理的好起点。通过理解如何配置事务管理器,使用`@Transactional`注解,以及异常处理机制,我们可以更好地掌握Spring如何保证数据的一致...

    spring-cglib-repack-3.2.5.jar,spring-objenesis-repack-2.6.jar

    标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是Spring框架在运行时依赖的两个关键库,它们主要涉及到动态代理和对象创建的优化。 1. **CGLIB(Code Generation Library)**: ...

    spring导入eclipse时少的spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar

    1. 下载`spring-cglib-repack-3.2.4.jar`和`spring-objenesis-repack-2.4.jar`,通常可以在Maven中央仓库或者GitHub上找到对应版本的文件。 2. 将这两个jar包添加到你的项目的`lib`目录下,或者如果你使用的是Maven...

    Spring源码编译缺少的两个包:spring-cglib-repack-3.2.0.jar和spring-objenesis-repack-2.2.jar

    在Spring框架的开发和调试过程中,我们经常需要深入源码以理解其工作原理或解决特定问题。然而,直接编译Spring源码时,可能会遇到依赖缺失的问题。在本案例中,"Spring源码编译缺少的两个包:spring-cglib-repack-...

    简单实用struts+spring+hibernate配置实例--.rar

    Struts、Spring和Hibernate是Java开发中非常重要的三个框架,它们分别在MVC(Model-View-Controller)架构的不同层面发挥作用。Struts处理用户请求,Spring管理应用的业务逻辑和依赖,而Hibernate则负责数据库操作。...

    spring-cglib-repack-3.2.5.jar和spring-objenesis-repack-2.6.jar

    标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是两个与Spring框架相关的库文件,它们主要用于Spring框架的内部实现,尤其是针对Java对象的创建和代理机制。下面将详细解释这两个库的...

    org.springframework.web.struts-sources-3.0.4.RELEASE.jar

    在3.0.x系列中,Spring提供了对Struts 1.x的支持,允许开发者利用Spring的特性来增强Struts应用,例如事务管理、AOP(面向切面编程)、数据绑定和类型转换等。 1. **Spring与Struts的整合机制** Spring与Struts的...

    spring-context-3.2.0 spring-core-3.2.0 等齐全的Spring jar包

    6. **spring-test-3.2.0.RELEASE.jar**:测试模块提供了对JUnit和TestNG的支持,使得在Spring环境中进行单元测试和集成测试变得简单。它包含`@ContextConfiguration`等注解,用于加载和配置测试用例中的...

    spring_事务管理(实例代码)

    Spring事务管理就是围绕这些特性来确保数据的一致性。 四、事务的传播行为 在Spring中,我们可以配置事务的传播行为,比如REQUIRED(默认,如果当前存在事务,则加入当前事务,否则新建一个事务)、PROPAGATION_...

    springcloud-eureka-feign-mybatis-seata.zip

    本文将深入探讨基于Spring Cloud Eureka、Feign、MyBatis和Seata的分布式事务解决方案,帮助开发者理解如何在微服务架构中实现高效、可靠的事务管理。 首先,Spring Cloud Eureka是Netflix公司提供的一个服务注册与...

    spring-mybatis-struts2-master ——demo

    在"spring-mybatis-struts2-master"项目中,可以看到Spring的配置文件(如:applicationContext.xml),其中定义了Bean的实例化规则,包括数据库连接池、SqlSessionFactory等关键组件。 二、MyBatis框架 MyBatis是...

    尚硅谷-佟刚-spring使用的spring-framework-4.0.0.RELEASE

    7. **事务管理**: Spring提供了一套完善的事务管理机制,包括编程式事务管理和声明式事务管理。在Spring-Hibernate集成中,通常使用声明式事务管理,通过@Transactional注解来控制事务的边界。 8. **单元测试和整合...

    Spring Hibernate事务实例

    总结一下,`Spring Hibernate事务实例`涵盖了以下核心知识点: 1. Spring框架的声明式事务管理:通过`TransactionInterceptor`和`@Transactional`注解实现。 2. Hibernate事务管理:使用`...

    mybaits-spring(ibatis-spring)-1.0.2-bundle

    在不使用这个库的情况下,开发者需要手动管理SqlSessionFactory或SqlSession,并确保它们在Spring事务边界内正确关闭。而MyBatis-Spring通过提供SqlSessionTemplate和SqlSessionDaoSupport等工具类,使得MyBatis可以...

    spring4源码所需要的spring-objenesis-repack-2.1.jar,spring-cglib-repack-3.1.jar

    1. **Objenesis**: `spring-objenesis-repack-2.1.jar` 是Objenesis库的一个打包版本,Objenesis是一个轻量级Java库,主要用于实例化未经构造函数创建的对象。在Spring框架中,Objenesis主要用来处理那些没有默认...

Global site tag (gtag.js) - Google Analytics