- 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來建立連線物件。