Начало работы с TypeORM и TypeScript: установка и примеры кода

Установка TypeORM с помощью TypeScript

TypeORM — это популярная библиотека объектно-реляционного сопоставления (ORM) для TypeScript, которая упрощает взаимодействие с базой данных. В этой статье блога мы проведем вас через процесс установки TypeORM с помощью TypeScript и предоставим примеры кода для различных методов.

Шаг 1. Настройте проект TypeScript
Прежде чем мы сможем установить TypeORM, давайте настроим проект TypeScript. Откройте терминал и создайте новый каталог для вашего проекта. Перейдите в каталог и выполните следующую команду, чтобы инициализировать новый проект TypeScript:

mkdir typeorm-project
cd typeorm-project
npm init -y

В вашем каталоге будет создан новый файл package.json.

Шаг 2. Установите TypeORM и зависимости
Чтобы установить TypeORM и его зависимости, выполните в терминале следующую команду:

npm install typeorm reflect-metadata mysql

Эта команда устанавливает TypeORM, reflect-metadataи драйвер MySQL. Вы можете заменить mysqlсоответствующим драйвером для вашей системы базы данных.

Шаг 3. Настройте TypeORM
Создайте новый файл с именем ormconfig.jsonв корне каталога вашего проекта. Этот файл будет содержать конфигурацию TypeORM. Вот пример конфигурации базы данных MySQL:

{
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "username": "your-username",
  "password": "your-password",
  "database": "your-database",
  "synchronize": true,
  "logging": true,
  "entities": ["src/entities//*.ts"],
  "migrations": ["src/migrations//*.ts"],
  "subscribers": ["src/subscribers//*.ts"],
  "cli": {
    "entitiesDir": "src/entities",
    "migrationsDir": "src/migrations",
    "subscribersDir": "src/subscribers"
  }
}

Обязательно замените заполнители (your-username, your-passwordи your-database) фактическими учетными данными базы данных.

Шаг 4. Создайте сущности
Сущности представляют таблицы базы данных. Создайте новый каталог под названием src/entitiesи определите свои объекты как классы TypeScript. Вот пример сущности User:

// src/entities/User.ts
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;
  @Column()
  name: string;
  @Column()
  email: string;
}

Шаг 5. Написание запросов к базе данных
TypeORM предоставляет различные методы взаимодействия с базой данных. Вот несколько примеров:

  1. Добавить нового пользователя:
import { getRepository } from "typeorm";
import { User } from "./entities/User";
const userRepository = getRepository(User);
const user = new User();
user.name = "John Doe";
user.email = "john@example.com";
userRepository.save(user);
  1. Найти всех пользователей:
const users = await userRepository.find();
console.log(users);
  1. Найти пользователя по идентификатору:
const user = await userRepository.findOne({ id: 1 });
console.log(user);
  1. Обновить пользователя:
const user = await userRepository.findOne({ id: 1 });
user.name = "Updated Name";
await userRepository.save(user);
  1. Удалить пользователя:
const user = await userRepository.findOne({ id: 1 });
await userRepository.remove(user);

Шаг 6. Запустите компилятор TypeScript
Чтобы скомпилировать код TypeScript, выполните в терминале следующую команду:

npx tsc

Это приведет к передаче вашего кода TypeScript в JavaScript и созданию каталога distв вашем проекте.

Шаг 7. Запуск приложения
Теперь вы можете запустить свое приложение с помощью Node.js. Предполагая, что у вас есть файл с именем index.jsв каталоге dist, выполните следующую команду:

node dist/index.js

Это запустит ваше приложение и выполнит операции с базой данных, определенные в вашем коде.

Заключение
В этой статье мы рассмотрели процесс установки TypeORM с помощью TypeScript и предоставили примеры кода для различных методов. TypeORM упрощает взаимодействие с базами данных в проектах TypeScript и предлагает широкий спектр функций для работы с базами данных.