在 MyBatis 中,可以使用以下兩種方法來創建事務:
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
// 執行數據庫操作
sqlSession.insert("insertUser", user);
sqlSession.update("updateUser", user);
// 提交事務
sqlSession.commit();
} catch (Exception e) {
// 回滾事務
sqlSession.rollback();
} finally {
sqlSession.close();
}
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void addUser(User user) {
userMapper.insertUser(user);
userMapper.updateUser(user);
}
}
無論使用哪種方式,都可以實現 MyBatis 的事務管理。編程式事務管理需要手動處理事務的提交和回滾,而聲明式事務管理則更加方便,只需要在需要事務管理的方法或類上添加 @Transactional 注解即可。