TypeORM - API de connexion

Pour interagir avec la base de données, nous avons besoin d'un objet de connexion à la base de données. Nous devons créer un objet de connexion avant de faire l'opération de base de données et y mettre fin une fois que les opérations de base de données sont terminées. Découvrons l'API de connexion fournie par TypeORM dans cette section.

Créer une nouvelle connexion

Avant de créer une nouvelle connexion, nous devons configurer les détails de connexion à la base de données dans le ormconfig.jsonfichier de configuration. Un exemple de détails de connexion est présenté ci-dessous -

ormconfig.json

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

Ici,

  • name - Nom de la connexion à la base de données.
  • type - Type de base de données.
  • host - Nom d'hôte du serveur de base de données.
  • port - Port du serveur de base de données.
  • username - Nom du compte ayant accès à la base de données.
  • password - Mot de passe du compte mentionné ci-dessus.
  • database - Nom de la base de données à connecter.

createConnection

CreateConnectionest fournie par TypeORM pour créer une nouvelle connexion. Il est défini comme ci-dessous,

import { createConnection, Connection } from "typeorm"; 

const connection = await createConnection({ 

});

Ici, createConnection utilisera les détails de configuration spécifiés dans le fichier ormconfig.json.

Vous pouvez également définir l'URL de connexion en tant qu'arguments de la méthode createConnection comme indiqué ci-dessous -

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

Ici,

createConnection renvoie un objet, qui peut être utilisé pour ouvrir / fermer la connexion à la base de données.

Connexions multiples

TypeORM fournit également une option pour créer une connexion à plusieurs bases de données. Tout d'abord, le fichier de configuration ormconfig.json peut être utilisé pour spécifier les détails de la connexion à plusieurs bases de données. Configurons plusieurs bases de données dans ormconfig.json comme indiqué ci-dessous,

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

Maintenant, nous pouvons utiliser l'argument fourni par la méthode createConnection pour spécifier le nom de la connexion pour créer l'objet de connexion comme mentionné ci-dessous -

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

Ici,

createConnection utilisera les détails de configuration du firstconnection spécifié dans le ormconfig.json fichier pour créer l'objet de connexion.

TypeORM fournit également une autre API, createConnections pour créer plusieurs connexions en une seule fois, puis utilisez-la chaque fois que nécessaire, comme spécifié ci-dessous -

import { createConnections, Connection } from "typeorm"; 

const connections: Connection[] = await createConnections([ 

]);

Ici,

connections contenez tous les objets de connexion sous forme de tableau.

ConnectionManager

TypeORM fournit également une autre API, connectionManager pour créer une connexion. Il est défini ci-dessous -

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

const connectionManager = getConnectionManager(); 

const connection = connectionManager.create({ 

}); 
await connection.connect();

TypeORM préfère l'utilisation de createConnection plus de ConnectionManager pour créer des objets de connexion.