Spring整合Mybatis框架-为业务层添加声明式事务控制 要么都成功要么都失败

其实上面一个例子,是看不出事务控制的,接下来,我们模拟一下真实的业务场景,一次添加一批用户,我们现在想要的结果是:要么都添加成功,要么都添加失败

只需要在上一个小demo的基础上进行稍微的改动就可以

UserServiceImpl.java   循环去调用添加用的方法

测试方法:

 1 @Test
 2     public void testAdd(){
 3         logger.debug("testAdd !===================");
 4
 5         try {
 6             ApplicationContext ctx=new
 7                     ClassPathXmlApplicationContext("applicationContext.xml");
 8             UserService    userService=(UserService)ctx.getBean("userService");
 9             User user = new User();
10             user.setUserCode("test001");
11             user.setUserName("测试用户001");
12             user.setUserPassword("1234567");
13             Date birthday = new SimpleDateFormat("yyyy-MM-dd").parse("1984-12-12");
14             user.setBirthday(birthday);
15             user.setCreationDate(new Date());
16             user.setAddress("地址测试");
17             user.setGender(1);
18             user.setPhone("13688783697");
19             user.setUserRole(1);
20             user.setCreatedBy(1);
21             user.setCreationDate(new Date());
22
23             List<User> userList=new ArrayList<User>();
24             userList.add(user);
25             userList.add(user);
26             userService.addNewUser(userList);
27
28
29
30         } catch (Exception e) {
31             // TODO: handle exception
32             e.printStackTrace();
33
34         }finally{
35
36         }
37
38     }

运行结果:

可见,添加成功了。

现在我们模拟一个异常,我先将添加成功的这两条数据删除

UserServiceImpl.java

运行结果:

原文地址:https://www.cnblogs.com/dongyaotou/p/12153017.html

时间: 2024-08-29 17:39:02

Spring整合Mybatis框架-为业务层添加声明式事务控制 要么都成功要么都失败的相关文章

SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置

一直对springmvc和mybatis挺怀念的,最近想自己再搭建下框架,然后写点什么. 暂时没有整合缓存,druid也没有做ip地址的过滤.Spring的AOP简单配置了下,也还没具体弄,不知道能不能用,log也不知道能不能用,`(*∩_∩*)′哈哈,有点不负责任...... 直接上代码: 使用的eclipse和eclipse自带的maven,参考了网上的资料,有些代码是拷贝的,不过都自己测试过了.嗯,可以跑起来... 先上项目结构: 新建maven项目,选择web,然后配置pom: <pro

spring基于xml的声明式事务控制配置步骤

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/

spring基于xml的声明式事务控制

配置文件bean.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework

spring基于注解的声明式事务控制配置

配置文件: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/sc

Spring添加声明式事务

一.前言 Spring提供了声明式事务处理机制,它基于AOP实现,无须编写任何事务管理代码,所有的工作全在配置文件中完成. 二.声明式事务的XML配置方式 为业务方法配置事务切面,需要用到tx和aop两个命名空间下的标签,先在Spring配置文件中导入这两个命名空间. 1.配置事务管理器组件 事务管理器组件提供对事务处理的全面支持和统一管理,在切面中相当于增强处理的角色.这里使用Spring提供的事务管理器类DataSourceTransactionManager来实现,如下 <bean id=

【Spring】—AOP之AspectJ注解方式实现声明式事务管理

前言 这回来说下注解方式的声明式事务管理. 正文 Demo 1.引入相关的jar包这里写图片描述 2.引入AOP约束<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/con

Spring整合mybatis框架1

Spring框架和mybatis框架整合的步骤: 原文地址:https://www.cnblogs.com/dongyaotou/p/12128914.html

阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制

创建新项目 复制上一个pom.xml的内容.依赖和打包的方式 再复制src的代码过来 bean.xml.多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Autowried注入dao dao注解 service改完了改dao.加上Repository 此时不能再继承JdbcDaoSupport.这里的继承删掉. 上面定义jdbcTemplate. 这样直接使用jdbcTemplate来操作 使用Autowired注入jdbcTemplate 删除原来的配置

解决 spring mvc 3.+ 结合 hibernate3.+ 使用&lt;tx:annotation-driven&gt;声明式事务无法提交的问题

spring mvc使用注解方式:service使用@service注解 事务使用@Transactional 事务配置使用 Java代码 <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> 在插入或更新数据时,无报错,但数据库中无结果,而查询正常.疑为事务未提交. 方式用来扫描该包以及其子包下的@Controller注解的