其实上面一个例子,是看不出事务控制的,接下来,我们模拟一下真实的业务场景,一次添加一批用户,我们现在想要的结果是:要么都添加成功,要么都添加失败
只需要在上一个小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
时间: 2025-01-08 07:02:05