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.