- TypeORM 教程
- TypeORM - 首页
- TypeORM - 简介
- TypeORM - 安装
- TypeORM - 创建一个简单的项目
- TypeORM - 连接 API
- TypeORM - 实体
- TypeORM - 关系
- TypeORM - 使用 Repository
- TypeORM - 使用 Entity Manager
- TypeORM - 查询构建器
- TypeORM - 查询操作
- TypeORM - 事务
- TypeORM - 索引
- TypeORM - 实体监听器和日志记录
- TypeORM 与 JavaScript
- TypeORM - 使用 MongoDB
- TypeORM 与 Express
- TypeORM - 迁移
- TypeORM - 使用 CLI
- TypeORM 有用资源
- TypeORM - 快速指南
- TypeORM - 有用资源
- TypeORM - 讨论
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来创建连接对象。