Spring整合Mybatis框架-为业务层添加声明式事务控制 要么都成功要么都失败
Posted dongyaotou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
运行结果:
以上是关于Spring整合Mybatis框架-为业务层添加声明式事务控制 要么都成功要么都失败的主要内容,如果未能解决你的问题,请参考以下文章