📅  最后修改于: 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"
}
这里,
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来创建连接对象。