首页 > 其他分享 >以下是一个使用 TypeORM 事务的示例:

以下是一个使用 TypeORM 事务的示例:

时间:2023-10-25 23:35:49浏览次数:33  
标签:Category 事务 示例 getConnection await error TypeORM

以下是一个使用 TypeORM 事务的示例:

typescriptimport {getConnection} from "typeorm";
import {Category, Repository} from "./entity/index";

async function run() {
const categoryRepository = getConnection().getRepository(Category);
const repository = getConnection().getRepository(Repository);

try {
// 开启事务
await repository.beginTransaction();

try {
// 执行数据库操作,例如插入、更新或删除数据
const category = new Category();
category.name = "New Category";
await categoryRepository.save(category);

// 提交事务
await repository.commit();
} catch (error) {
// 回滚事务
await repository.rollback();
throw error;
}
} catch (error) {
console.error("Error during transaction execution", error);
} finally {
// 关闭数据库连接
await getConnection().close();
}
}

run();

在上述示例中,我们首先通过 getConnection() 方法获取数据库连接,然后使用 getRepository() 方法获取实体类对应的 Repository。接下来,在 try 块中开启事务,并在其中执行一些数据库操作,例如插入、更新或删除数据。如果操作成功完成,则使用 commit() 方法提交事务;如果操作失败,则使用 rollback() 方法回滚事务。无论事务是否成功,我们都在 finally 块中关闭数据库连接。如果在开启事务或执行操作时发生异常,则可以在 catch 块中处理异常。

标签:Category,事务,示例,getConnection,await,error,TypeORM
From: https://www.cnblogs.com/sexintercourse/p/17788382.html

相关文章

  • XA分布式事务协议
          XA(eXtendedArchitecture)是指由X/Open组织提出的分布式交易处理的规范。XA是一个分布式事务协议,由Tuxedo提出,所以分布式事务也称为XA事务。XA协议主要定义了事务管理器TM(TransactionManager,协调者)和资源管理器RM(ResourceManager,参与者)之间的接口。其中,资源管......
  • 什么是幻读,脏读,不可重复读?事务的各个隔离级别都是如何实现的?
    一、什么是幻读,脏读,不可重复读?事务A、B交替执行,事务A读取到事务B未提交的数据,这就是脏读。在一个事务范围内,两个相同的查询,读取同一条记录,却返回了不同的数据,这就是不可重复读。事务A查询一个范围的结果集,另一个并发事务B往这个范围中插入/删除了数据,并悄悄提交,之后事务A再次查询相......
  • 大事务导致数据库恢复时间长
    背景客户的一套系统从凌晨开始出现运行缓慢,重启SQLServer服务后一个主要的数据库一直处在正在恢复的状态,多次重启SQLServer服务和服务器无果后请我们协助处理。现象在SSMS中看到数据库是正在恢复的状态,而且不能被访问。 分析启动SQLServer服务时数据库恢复要经过分......
  • 【记录10】华为云耀云服务器L实例-使用Docker拉取nginx镜像的部署示例
     Docker 是一个开源平台,用于开发、运输和运行应用程序。它使用容器化技术来包装应用程序及其依赖项,以便在任何环境中都能一致地运行。简单来说,Docker 可以将应用程序及其所有依赖项打包成一个容器,这样就可以确保它无论在哪里运行都表现一致。 ### Docker 的主要组件:1.......
  • 「Java开发指南」如何在MyEclipse中使用JPA和Spring管理事务?(二)
    本教程中介绍一些基于JPA/spring的特性,重点介绍JPA-Spring集成以及如何利用这些功能。您将学习如何:为JPA和Spring设置一个项目逆向工程数据库表来生成实体实现创建、检索、编辑和删除功能启用容器管理的事务在上文中,我们为大家介绍了如何用JPA和SpringFacets创建一个Java......
  • MySQL 事务的四大特性;ACID靠什么保证的?事务的隔离级别有哪些?MySQL 的默认隔离级别是什
    一、MySQL事务的四大特性原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。一致性(Consistency):指在事务开始之前和事务结束以后,数据不会被破坏,假如A账户给B账户转10块钱,不管成功与否,A和B的总金额是不变的。隔离性(Isolation):......
  • @Transactional:声明式事务管理,保证数据一致性
    一、介绍通过使用@Transactional注解,我们可以更加方便地管理事务,保障数据的一致性和可靠性。在实际项目中,合理使用@Transactional注解可以提高「开发效率」和代码「可维护性」。二、用法@Transactional(rollbackFor=Exception.class)publicResponseDTO<String>update(No......
  • sqlserver 事务隔离级别与脏读、不一致读、幻读
    sqlserver查询窗口的默认事务隔离级别为:readcommitted,可以通过下面SQL语句查看:SELECTCASEtransaction_isolation_levelWHEN0THEN'Unspecified'WHEN1THEN'ReadUncommitted'WHEN2THEN'ReadCommitted'......
  • 分布式事务
    本地事务在分布式下会出现的问题只能各自回滚各自的簇点头那边抛出异常--->全部回滚(ok)簇点第一个远程调用返回code不正确,我们可在主方法这抛异常(ok)簇点非第一个远程调用code不正确,我们只有那个远程调用和主方法会rollback,在其之前的远程调用无法rollback没人通知(NO)......
  • mybatis的一级缓存和事务注解失效导致的查询结果缺失
    事情是这样的,测试发现有个查询接口,第一次调的时候没能返回数据,第二次调就可以正常返回。这个接口的功能是查询用户的现有福利数据。具体点的逻辑是1,查询数据库,mybatis,xml里面写的关联查询,主表和子表关联。2,判断查询结果,如果没有子表部分的信息,则按照业务逻辑生成子表数......