使用 Query Runner
什么是 QueryRunner
每个新的 QueryRunner
实例从连接池中获取一个连接,如果 RDBMS 支持连接池的话。
对于不支持连接池的数据库,它会在整个数据源中使用同一个连接。
创建新的 QueryRunner
实例
使用 createQueryRunner
方法创建一个新的 QueryRunner
实例:
const queryRunner = dataSource.createQueryRunner()
使用 QueryRunner
创建 QueryRunner
实例后,使用 connect
方法实际从连接池获取连接:
const queryRunner = dataSource.createQueryRunner()
await queryRunner.connect()
重要:确保在不再需要时释放连接,以便将其重新放回连接池中:
await queryRunner.release()
连接释放后,将无法再使用查询运行器方法。
QueryRunner
有一系列可以使用的方法,它还有自己的 EntityManager
实例,
通过 manager
属性,可以在 QueryRunner
实例上运行 EntityManager
的方法,以在特定的数据库连接上执行操作:
const queryRunner = connection.createQueryRunner()
// 从连接池中获取一个连接
await queryRunner.connect()
// 使用该连接执行查询
const users = await queryRunner.manager.find(User)
// 使用完毕后不要忘记释放连接
await queryRunner.release()