TypeORM para JavaScript (Node.js): guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

TypeORM para JavaScript (Node.js): guia completo

1. O que é e para que serve

TypeORM é uma poderosa biblioteca de Object-Relational Mapping (ORM) projetada para trabalhar com bancos de dados no ambiente Node.js. Ela suporta tanto TypeScript quanto JavaScript, oferecendo aos desenvolvedores uma maneira prática de interagir com bancos de dados relacionais (PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, Oracle e CockroachDB) através de uma abordagem orientada a objetos. Em vez de escrever consultas SQL brutas, você trabalha com entidades (Entity) — classes JavaScript comuns que são automaticamente mapeadas para tabelas do banco de dados.

Para que serve o TypeORM? Primeiro, ele acelera significativamente o desenvolvimento: você não precisa escrever consultas SQL manualmente para operações CRUD (Create, Read, Update, Delete). Segundo, ele oferece segurança de tipos (se você usar TypeScript) e proteção contra injeção de SQL através de consultas parametrizadas. Terceiro, o TypeORM fornece um Query Builder poderoso para consultas complexas, migrações para gerenciar o esquema do banco de dados e suporte a relacionamentos entre tabelas (um-para-um, um-para-muitos, muitos-para-muitos). Isso o torna a escolha ideal para construir aplicações escaláveis e de fácil manutenção.

Diferente de outras ORMs, o TypeORM utiliza decorators (no TypeScript) ou anotações (no JavaScript através de funcionalidades experimentais), tornando o código declarativo e intuitivo. A biblioteca também suporta os padrões Active Record e Data Mapper, permitindo que o desenvolvedor escolha o estilo de trabalho mais adequado. Graças à sua flexibilidade e rico conjunto de funcionalidades, o TypeORM é uma das ORMs mais populares no ecossistema Node.js.

2. Instalação

Para instalar o TypeORM no seu projeto Node.js, use o gerenciador de pacotes npm. Você também precisará instalar o driver do seu banco de dados. Abaixo estão os comandos para os SGBDs mais populares.

# Instalação do TypeORM
npm install typeorm --save

# Instalação do driver para PostgreSQL
npm install pg --save

# Instalação do driver para MySQL / MariaDB
npm install mysql2 --save

# Instalação do driver para SQLite
npm install sqlite3 --save

# Instalação do driver para Microsoft SQL Server
npm install mssql --save

# Instalação do driver para CockroachDB
npm install pg --save

# Para TypeScript, instale também reflect-metadata e os tipos
npm install reflect-metadata --save
npm install @types/node --save-dev

Após a instalação, certifique-se de que no seu tsconfig.json (se estiver usando TypeScript) as seguintes configurações estejam ativas:

{
  "emitDecoratorMetadata": true,
  "experimentalDecorators": true
}

Para JavaScript (Node.js) essas configurações não são necessárias, mas você pode usar decorators experimentais se desejar.

3. Início rápido — exemplo mínimo funcional

Vamos criar uma aplicação simples que se conecta a um banco de dados SQLite (banco de dados em arquivo, não requer instalação de servidor) e executa operações básicas.

Crie um arquivo index.js e adicione o seguinte código:

const { createConnection, EntitySchema } = require("typeorm");

// Definindo a entidade (Entity) através do EntitySchema
const UserSchema = new EntitySchema({
    name: "User",
    tableName: "users",
    columns: {
        id: {
            primary: true,
            type: "int",
            generated: true
        },
        firstName: {
            type: "varchar"
        },
        lastName: {
            type: "varchar"
        }
    }
});

Recommendations