mybatis 事务 和 批量插入

This commit is contained in:
WangHao
2021-04-05 16:16:16 +08:00
parent bb01b94a52
commit 8abfbae5ff
3 changed files with 76 additions and 1 deletions

View File

@ -3,6 +3,7 @@ package com.ruoyi.bookmark.service;
import java.util.List;
import com.ruoyi.bookmark.domain.SqMenu;
import org.omg.CORBA.INTERNAL;
import org.springframework.transaction.annotation.Transactional;
/**
* 书签菜单Service接口
@ -81,6 +82,15 @@ public interface ISqMenuService
*/
public int insertSqMenu(SqMenu sqMenu);
/**
* 新增书签菜单 测试事务
*
* @param sqMenu 书签菜单
* @return 结果
*/
@Transactional
public int insertSqMenu2(SqMenu sqMenu)throws Exception;
/**
* 修改书签菜单
*

View File

@ -16,6 +16,9 @@ import org.springframework.stereotype.Service;
import com.ruoyi.bookmark.mapper.SqMenuMapper;
import com.ruoyi.bookmark.domain.SqMenu;
import com.ruoyi.bookmark.service.ISqMenuService;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
/**
* 书签菜单Service业务层处理
@ -137,6 +140,34 @@ public class SqMenuServiceImpl implements ISqMenuService
}
return i;
}
/**
* 新增书签菜单 测试事务
*
* @param sqMenu 书签菜单
* @return 结果
*/
@Override
public int insertSqMenu2 (SqMenu sqMenu)throws Exception
{
sqMenu.setCreateTime(DateUtils.getNowDate());
sqMenu.setMenuName("AAAAAAAAAAAAAAA");
int i = sqMenuMapper.insertSqMenu(sqMenu);
if (i>0){
System.out.println("添加成功了");
// int a = 9/0; //模拟异常
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//强制事务回滚
}
sqMenu.setUserId(2L);
sqMenuMapper.insertSqMenu(sqMenu);
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
System.out.println("事务已经提交了 后增强!!!!");
}
});
return i;
}
/**
* 修改书签菜单