nest 从零开始搭建项目

本文介绍了如何使用NestJS搭建项目,包括项目创建、添加模块、连接MySQL数据库以及使用typeORM进行数据库操作。此外,还详细讲述了如何将NestJS与Swagger结合,快速构建RESTful API文档,方便API管理和测试。
摘要由CSDN通过智能技术生成

代码地址:https://download.csdn.net/download/qq_40890727/13583192
第一次安装nestjs,win+r,cmd进入命令窗口,执行:

 npm i -g @nestjs/cli

项目创建

在workplace路径下进入cmd,执行

nest new project-name

整个项目结构是这样的:

在这里插入图片描述
主要的文件主要是
src

├── app.controller.ts 带有单个路由的基本控制器示例

├── app.module.ts 应用程序的根模块

└── main.ts 应用程序入口文件。包含一个异步函数,使用 NestFactory 用来创建 Nest 应用实例,负责引导我们的应用程序

添加模块

可以通过命令行来生成文件
创建controller层,执行:nest g co login login
创建module层,执行:nest g mo login login
创建service层,执行:nest g s login login

连接数据库

数据库用的是MySQL,连接数据库的工具有Sequelize和typeORM。这里使用的是typeORM

创建数据库

在数据库可视化工具里创建数据库表信息:

CREATE TABLE `account` (
  `age` int(11) NOT NULL,
  `status` int(11) NOT NULL,
  `uid` int(11) NOT NULL AUTO_INCREMENT,
  `uname` varchar(500) NOT NULL,
  `passwd` varchar(255) NOT NULL,
  `passwrd_salt` varchar(255) NOT NULL,
  `gender` varchar(255) NOT NULL,
  `phone` varchar(255) NOT NULL,
  PRIMARY KEY (`uid`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

数据库样式为:
在这里插入图片描述

typeORM

1:导入依赖
在项目路径下执行:npm add @nestjs/typeorm typeorm mysql -S

2:创建实体类
在src下创建目录:entity:里面存放你的实体类相当于Java的domain。
在src/entity下创建一个Account.ts文件,里面是表account的映射对象

import {
    type } from 'os';
import {
    Entity, Column, PrimaryGeneratedColumn, OneToOne, JoinColumn, OneToMany, ManyToOne} from 'typeorm';

@Entity()
export class Account {
   
  @PrimaryGeneratedColumn()
  uid: number;

  @Column()
  uname: string;

  @Column()
  age: number;

  @Column()
  gender: string;

  @Column()
  phone: string;

  @Column()
  passwd: string;
  
  @Column()
  status: number;

  @Column()
  passwrd_salt: string;

}

3: 创建连接池

import {
    Module } from '@nestjs/common';
import {
    AppController } from './app.controller';
import {
    AppService } from './app.service';
import {
    LoginController } from './login/login.controller';
import {
    LoginModule } from './login/login.module';

import {
    TypeOrmModule } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值