TypeORM - API de conexão

Para interagir com o banco de dados, precisamos de um objeto de conexão com o banco de dados. Precisamos criar um objeto de conexão antes de fazer a operação do banco de dados e deve encerrá-lo assim que as operações do banco de dados forem concluídas. Vamos aprender sobre a API de conexão fornecida por TypeORM nesta seção.

Criando uma nova conexão

Antes de criar uma nova conexão, precisamos configurar os detalhes de conexão do banco de dados no ormconfig.jsonarquivo de configuração. Um exemplo de detalhes de conexão é mostrado abaixo -

ormconfig.json

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

Aqui,

  • name - Nome da conexão de banco de dados.
  • type - Tipo de banco de dados.
  • host - Nome do host do servidor de banco de dados.
  • port - Porta do servidor de banco de dados.
  • username - Nome da conta com acesso ao banco de dados.
  • password - Senha da conta acima mencionada.
  • database - Nome do banco de dados a ser conectado.

createConnection

CreateConnectionmétodo é fornecido pelo TypeORM para criar uma nova conexão. É definido como abaixo,

import { createConnection, Connection } from "typeorm"; 

const connection = await createConnection({ 

});

Aqui, createConnection usará os detalhes de configuração especificados no arquivo ormconfig.json.

Como alternativa, você pode definir o URL de conexão como argumentos para o método createConnection conforme especificado a seguir -

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

Aqui,

createConnection retorna um objeto, que pode ser usado para abrir / fechar a conexão com o banco de dados.

Múltiplas conexões

TypeORM também oferece uma opção para criar várias conexões de banco de dados. Primeiro, o arquivo de configuração ormconfig.json pode ser usado para especificar os detalhes da conexão de vários bancos de dados. Vamos configurar vários bancos de dados em ormconfig.json conforme especificado a seguir,

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

Agora, podemos usar o argumento fornecido pelo método createConnection para especificar o nome da conexão para criar o objeto de conexão, conforme mencionado abaixo -

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

Aqui,

createConnection usará os detalhes de configuração do firstconnection especificado no ormconfig.json arquivo para criar o objeto de conexão.

TypeORM também fornece outra API, createConnections para criar várias conexões de uma só vez e, em seguida, usá-la sempre que necessário, conforme especificado abaixo -

import { createConnections, Connection } from "typeorm"; 

const connections: Connection[] = await createConnections([ 

]);

Aqui,

connections mantenha todos os objetos de conexão como uma matriz.

ConnectionManager

TypeORM também fornece uma outra API, connectionManager, para criar a conexão. É definido abaixo -

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

const connectionManager = getConnectionManager(); 

const connection = connectionManager.create({ 

}); 
await connection.connect();

TypeORM prefere o uso de createConnection sobre ConnectionManager para criar objetos de conexão.