📜  TypeORM-连接API

📅  最后修改于: 2020-10-19 03:39:37             🧑  作者: Mango


要与数据库交互,我们需要一个到数据库的连接对象。我们需要在执行数据库操作之前创建一个连接对象,并且必须在完成数据库操作后终止它。让我们了解本节中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-数据库服务器端口。
  • 用户名-有权访问数据库的帐户名。
  • 密码-上述帐户的密码。
  • 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([ 

]);

这里,

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

连接管理器

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

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

const connectionManager = getConnectionManager(); 

const connection = connectionManager.create({ 

}); 
await connection.connect();

TypeORM首选使用createConnection而不是ConnectionManager来创建连接对象。