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

廣告
© . All rights reserved.