1、业务逻辑层代码
@Service
public class UserServiceImpl implements UserService{
// 加载mapper
@Autowired
private UserMapper usermapper;
@Transactional(propagation=Propagation.REQUIRED,timeout=5) // 启用事务管理
public void myTransaction(User addUser, User updateuser) {
System.out.println("---- UserServiceImpl myTransaction方法开始 ");
usermapper.add(addUser);
try {
Thread.sleep(7000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
usermapper.update(updateuser);
System.out.println("---- UserServiceImpl myTransaction方法结束 ");
}
}
说明:
@Transactional注解的tiemout属性表示设置事务超时时间。
以上代码中 ,@Transactional(propagation=Propagation.REQUIRED,timeout=5) 。
表示允许事务执行的时间是5秒,而业务方法myTransaction中,代码的执行时间一定大于5秒的。