what_a_name 2018-12-28 17:45 采纳率: 0%
浏览 8162

spring-boot+mybatis @Transactional事务管理不起作用

问题描述:

  • services代码如下,运行后第一条insert语句(小明)插入表中,第二条insert(小王)未插入表中
@Service
public class UserInfoServiceImpl implements IUserInfoService {
    @Override
    @Transactional
    public List<User> listUser() {
        userDao.insert(new User(100001,"小明","123","123321123"));
        int a = 1/0;                    //测试事物管理
        userDao.insert(new User(400001,"小王","123","123321123"));
        return userDao.listUserInfo();
    }
}

问题背景:

1. spring-boot + mybatis + jdk8

2. 数据库mysql,表引擎为:InnoDB,项目以普通用户连接数据库

3. 事务管理已开启

import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@SpringBootApplication
public class SmdemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SmdemoApplication.class, args);
    }
}

4. services类有注解,对应方法为public,方法内容未捕获异常,该方法由外部类调用

@Service
public class UserInfoServiceImpl implements IUserInfoService {

    @Resource
    private UserMapper userDao;

    @Override
    @Transactional(rollbackFor=Exception.class)
    public List<User> listUser() {
        userDao.insert(new User(100001,"小明","123","123321123"));
        int a = 1/0;
        userDao.insert(new User(400001,"小明","123","123321123"));
        return userDao.listUserInfo();
    }
        }

在网上找到的所有方法都试过了,均无效,还请高手赐教。

  • 写回答

4条回答 默认 最新

  • 庄周梦蝶。 2021-02-09 15:30
    关注

    大哥好了吗,我也想知道这是什么问题。是不是这个shiro啊原因

    评论

报告相同问题?

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)