TypeORM - API di connessione

Per interagire con il database, abbiamo bisogno di un oggetto di connessione al database. È necessario creare un oggetto di connessione prima di eseguire l'operazione sul database e terminarlo una volta terminate le operazioni sul database. Impariamo a conoscere l'API di connessione fornita da TypeORM in questa sezione.

Creazione di una nuova connessione

Prima di creare una nuova connessione, è necessario configurare i dettagli della connessione al database nel file ormconfig.jsonfile di configurazione. Di seguito sono riportati un esempio di dettagli di connessione:

ormconfig.json

{ 
   name: "firstconnection", 
   type: "mysql", 
   host: "localhost", 
   port: 3306, 
   username: "root", 
   password: "root", 
   database: "firstDB" 
}

Qui,

  • name - Nome della connessione al database.
  • type - Tipo di database.
  • host - Nome host del server del database.
  • port - Porta del server del database.
  • username - Nome account che ha accesso al database.
  • password - Password dell'account di cui sopra.
  • database - Nome del database a cui connettersi.

createConnection

CreateConnectionè fornito da TypeORM per creare una nuova connessione. È definito come di seguito,

import { createConnection, Connection } from "typeorm"; 

const connection = await createConnection({ 

});

Qui, createConnection utilizzerà i dettagli di configurazione specificati nel file ormconfig.json.

In alternativa, puoi definire l'URL di connessione come argomenti per il metodo createConnection come specificato di seguito:

const connection = createConnection({ type: 'mysql', 
     url: 'localhost:8888/firstDB' 
})

Qui,

createConnection restituisce un oggetto, che può essere utilizzato per aprire / chiudere la connessione al database.

Connessioni multiple

TypeORM fornisce anche un'opzione per creare più connessioni a database. Innanzitutto, è possibile utilizzare il file di configurazione ormconfig.json per specificare i dettagli della connessione a più database. Configuriamo più database in ormconfig.json come specificato di seguito,

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" 
}

Ora, possiamo usare l'argomento fornito dal metodo createConnection per specificare il nome della connessione per creare l'oggetto connessione come menzionato di seguito -

const firstconnection: Connection = await createConnection("firstconnection");

Qui,

createConnection utilizzerà i dettagli di configurazione del file firstconnection specificato nel ormconfig.json file per creare l'oggetto connessione.

TypeORM fornisce anche un'altra API, createConnections per creare più connessioni come una volta e poi, usala ogni volta che è necessario come specificato di seguito -

import { createConnections, Connection } from "typeorm"; 

const connections: Connection[] = await createConnections([ 

]);

Qui,

connections tenere tutti gli oggetti di connessione come un array.

ConnectionManager

TypeORM fornisce anche un'altra API, connectionManager per creare la connessione. È definito di seguito:

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

const connectionManager = getConnectionManager(); 

const connection = connectionManager.create({ 

}); 
await connection.connect();

TypeORM preferisce l'utilizzo di createConnection al di sopra di ConnectionManager per creare oggetti di connessione.