Skip to content

TypeORM 快速入门

安装

安装命令

bash

npm install typeorm -g
npx typeorm init --name MyProject --database mysql
npm install mysql2

其中 name 是你的项目名称,database 是你使用的数据库。 数据库可选值为:mysqlmariadbpostgrescockroachdbsqlitemssqlsapspanneroraclemongodbcordovareact-nativeexponativescript

  • 该命令在MyProject目录下生成以下文件:
bash

MyProject
├── src                   // 放置 TypeScript 代码的目录
   ├── entities          // 存放实体(数据库模型)
   └── User.ts       // 示例实体
   ├── migrations        // 迁移文件目录
   ├── data-source.ts    // 数据源及连接配置
   └── index.ts          // 应用入口
├── .gitignore            // 标准 gitignore 文件
├── package.json          // Node 模块依赖
├── README.md             // 简单的说明文件
└── tsconfig.json         // TypeScript 编译器选项

安装依赖

bash

cd MyProject
npm install

配置数据库连接

依赖安装完成后,编辑data-source.ts文件,修改你自己的数据库配置链接配置

ts
import "reflect-metadata";
import { DataSource } from "typeorm";
import { User } from "./entities/User";

export const AppDataSource = new DataSource({
  type: "mysql",
  host: "localhost",
  port: 3306,
  username: "root",
  password: "yinjie",
  database: "typeorm_test1",
  synchronize: true,
  logging: false,
  entities: [User],
  migrations: [],
  subscribers: [],
});

通常你只需配置 hostusernamepassworddatabase,可能还需要 port

配置完成后,运行项目,查看是否连接成功

bash
npm run start

添加新表

  • entities 数组中添加新的实体类
ts
import "reflect-metadata";
import { DataSource } from "typeorm";
import { User } from "./entities/User";
import { Course } from "./entities/Course";
export const AppDataSource = new DataSource({
  type: "mysql",
  host: "localhost",
  port: 3306,
  username: "root",
  password: "yinjie",
  database: "typeorm_test1",
  synchronize: true,
  logging: false,
  entities: [User, Course],
  migrations: [],
  subscribers: [],
});