TypeORM - 连接 API



为了与数据库交互,我们需要一个到数据库的连接对象。在进行数据库操作之前,我们需要创建一个连接对象,并且在数据库操作完成后必须终止它。让我们在本节中学习 TypeORM 提供的 Connection API。

创建新的连接

在创建新的连接之前,我们需要在ormconfig.json配置文件中配置数据库连接详细信息。下面显示了一个示例连接详细信息:

ormconfig.json

{ 
   name: "firstconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "firstDB" 
}

这里:

  • name - 数据库连接的名称。
  • type - 数据库类型。
  • host - 数据库服务器的主机名。
  • port - 数据库服务器端口。
  • username - 具有数据库访问权限的帐户名。
  • password - 上述帐户的密码。
  • database - 要连接的数据库名称。

createConnection

TypeORM 提供了createConnection方法来创建新的连接。其定义如下:

import { createConnection, Connection } from "typeorm"; 

const connection = await createConnection({ 

});

这里,createConnection将使用ormconfig.json文件中指定的配置详细信息。

或者,您可以将连接 URL 定义为createConnection方法的参数,如下所示:

const connection = createConnection({ type: 'mysql', 
     url: 'localhost:8888/firstDB' 
})

这里:

createConnection返回一个对象,该对象可用于打开/关闭与数据库的连接。

多个连接

TypeORM 还提供了一个创建多个数据库连接的选项。首先,可以使用配置文件 ormconfig.json 来指定多个数据库连接的详细信息。让我们按照如下所示在 ormconfig.json 中配置多个数据库:

ormconfig.json

{  name: "firstconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "firstDB" 
}, 
{  name: "secondconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "secondDB" 
}, 
{  name: "thirdconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "thirdDB" 
}

现在,我们可以使用 createConnection 方法提供的参数来指定要创建连接对象的连接名称,如下所示:

const firstconnection: Connection = await createConnection("firstconnection");

这里:

createConnection将使用ormconfig.json文件中指定的firstconnection的配置详细信息来创建连接对象。

TypeORM 还提供另一个 API,createConnections,可以一次创建多个连接,然后在需要时使用它,如下所示:

import { createConnections, Connection } from "typeorm"; 

const connections: Connection[] = await createConnections([ 

]);

这里:

connections将所有连接对象作为数组保存。

ConnectionManager

TypeORM 还提供另一个 API,connectionManager 来创建连接。其定义如下:

import {getConnectionManager, ConnectionManager, Connection} from "typeorm"; 

const connectionManager = getConnectionManager(); 

const connection = connectionManager.create({ 

}); 
await connection.connect();

TypeORM 更倾向于使用createConnection而不是ConnectionManager来创建连接对象。

广告