如何在 NestJS 中使用原始 SQL 而不是 TypeOrm 或 Sequelize ?
在 NestJS 中,虽然 TypeORM 和 Sequelize 是两个非常流行的 ORM 工具,但有时我们可能需要使用原始 SQL 来执行一些特定的数据库操作,以提高性能或处理复杂的查询。要在 NestJS 中使用原始 SQL,我们可以选择几种不同的方法。方法1:使用数据库驱动直接连接我们可以根据所使用的数据库类型(如 PostgreSQL, MySQL 等),直接使用对应的 Node.js 数据库驱动。以 PostgreSQL 为例,我们可以使用 这个库来执行原始 SQL。首先,需要安装 :然后,我们可以在服务中创建一个数据库连接并执行查询:在这个例子中,我们创建了一个 ,它使用 来管理连接。 方法用于执行传入的 SQL 查询并返回结果。方法2:使用第三方库如果你不想直接处理底层数据库连接和查询,可以使用如 这样的查询构建器库,它同时支持原始 SQL 和方便的方法来构建查询。首先,安装 和一个对应的数据库客户端(以 为例):配置并使用 :在这里, 使用 来执行原始 SQL。 方法允许你直接运行任何 SQL 代码。结论使用原始 SQL 在 NestJS 中不是非常复杂,你可以根据自己的需要选择合适的方法和库。直接使用数据库驱动提供了最大的控制和性能,而使用像 这样的库则可以提供额外的便利性和安全性(如 SQL 注入保护)。选择哪种方法取决于你的具体需求和项目情况。