zoukankan      html  css  js  c++  java
  • Spring整合Mybatis框架为业务层添加声明式事务控制使用注解的方式

    还是接着上一个小案例,上一个案例中,我们对事务的管理是配置在applicationContext.xml核心配置文件中的,其实我们还是能够进行简化的,我们可以使用注解的方式。

    applicationContext.xml

     UserServiceImpl.java

     1 package cn.smbms.service;
     2 
     3 import java.util.List;
     4 
     5 import org.springframework.beans.factory.annotation.Autowired;
     6 import org.springframework.beans.factory.annotation.Qualifier;
     7 import org.springframework.stereotype.Service;
     8 import org.springframework.transaction.annotation.Propagation;
     9 import org.springframework.transaction.annotation.Transactional;
    10 
    11 import cn.smbms.dao.user.UserMapper;
    12 import cn.smbms.pojo.User;
    13 @Transactional(propagation=Propagation.REQUIRED)
    14 @Service("userService")
    15 public class UserServiceImpl implements UserService {
    16 
    17     @Autowired
    18     @Qualifier("userMapper")
    19     private UserMapper userMapper;
    20 
    21     public UserMapper getUserMapper() {
    22         return userMapper;
    23     }
    24 
    25     public void setUserMapper(UserMapper userMapper) {
    26         this.userMapper = userMapper;
    27     }
    28 
    29     @Override
    30     public List<User> findUsers(User user) {
    31         // TODO Auto-generated method stub
    32         return userMapper.getUserList(user);// 调用的dao层的方法
    33     }
    34 
    35     @Override
    36     public boolean addNewUser(User user) {
    37         boolean flag = false;
    38         if (userMapper.add(user) == 1) {
    39             return flag = true;
    40         }
    41         return flag;
    42     }
    43 
    44     @Override
    45     public void addNewUser(List<User> userList) {
    46         for(int i=0;i<userList.size();i++){
    47             addNewUser(userList.get(i));
    48             //模拟一个异常
    49             throw  new RuntimeException("模拟异常!!!");
    50         }
    51         
    52     }
    53 
    54 }

    运行测试类,我们发现数据库中没有插入进去数据,同样能够达到预期的效果。

    如果将异常注释掉,同样是能够进行插入数据的

     

  • 相关阅读:
    Double 四舍五入保留小数
    QQ在线人数统计图数据解析
    Errors running builder 'Android Resource Manager' on project 'DeskClock'.
    批处理脚本学习笔记——程序猿版
    BZOJ 1002: [FJOI2007]轮状病毒
    《逆袭大学——传给IT学子的正能量》文件夹
    webservice 开发规范
    webservice面试题
    jdbc连接oracle数据库问题
    jdbc连接 orale 和 mysql 所需要的jar包
  • 原文地址:https://www.cnblogs.com/dongyaotou/p/12153490.html
Copyright © 2011-2022 走看看