Полное руководство по TypeORM: изучение методов и примеров кода

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

  1. Подключение к базе данных:
    Чтобы подключиться к базе данных с помощью TypeORM, вам необходимо создать конфигурацию подключения и установить соединение. Вот пример подключения к базе данных PostgreSQL:
import { createConnection } from 'typeorm';
const connection = await createConnection({
  type: 'postgres',
  host: 'localhost',
  port: 5432,
  username: 'your-username',
  password: 'your-password',
  database: 'your-database',
});
  1. Определение сущностей:
    Сущности представляют таблицы базы данных в TypeORM. Вы можете определять сущности, используя классы и декораторы. Вот пример сущности User:
import { Entity, Column, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
class User {
  @PrimaryGeneratedColumn()
  id: number;
  @Column()
  name: string;
  @Column()
  email: string;
}
  1. Запрос данных.
    TypeORM предоставляет богатый набор методов для запроса данных из базы данных. Вот несколько примеров:
  • Найти всех пользователей:
const users = await connection.manager.find(User);
console.log(users);
  • Найти пользователей по определенному имени:
const users = await connection.manager.find(User, { where: { name: 'John' } });
console.log(users);
  • Найти пользователя по идентификатору:
const user = await connection.manager.findOne(User, 1);
console.log(user);
  1. Создание и обновление данных.
    Чтобы создать или обновить данные в базе данных, вы можете использовать метод save(). Вот пример создания нового пользователя:
const user = new User();
user.name = 'Alice';
user.email = 'alice@example.com';
await connection.manager.save(user);
console.log('User saved:', user);

Чтобы обновить существующего пользователя, вы можете изменить свойства и снова вызвать save().

  1. Удаление данных.
    Чтобы удалить данные из базы данных, вы можете использовать метод remove(). Вот пример удаления пользователя:
const user = await connection.manager.findOne(User, 1);
await connection.manager.remove(user);
console.log('User deleted:', user);
  1. Отношения:
    TypeORM поддерживает определение отношений между сущностями, например, отношения «один-к-одному», «один-ко-многим» и «многие-ко-многим». Вот пример связи «один ко многим» между сущностями Userи Post:
@Entity()
class User {
  // ...
  @OneToMany(() => Post, post => post.user)
  posts: Post[];
}
@Entity()
class Post {
  // ...
  @ManyToOne(() => User, user => user.posts)
  user: User;
}
  1. Миграции.
    TypeORM предоставляет функцию миграции для управления изменениями схемы базы данных. Миграции позволяют вам управлять версиями схемы базы данных и контролируемым образом вносить изменения в базу данных. Вот пример создания и выполнения миграции:
typeorm migration:create -n CreatePostsTable
typeorm migration:run

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