nestjs[连接mysql数据库][2]

nest.js 本身支持建议使用TypeORM 模块来处理数据库相关的操作,它为许多不同的数据库提供了支持,以 MySQL 为例,使用的官方的hello-world项目做示例

事前准备

首先电脑安装好Mysql数据库
然后通过电脑数据库连接工具测试连接,确定可以连接上(我使用的navicat),之后创建test数据库以及库中的user表如下:
nestjs[连接mysql数据库][2]_第1张图片
最后在src下面创建一个单独的模块文件夹,这里以user模块为例,内容现在可以为空。(app.controller.spec.ts这个测试用例文件已删除掉)
nestjs[连接mysql数据库][2]_第2张图片

安装数据库相关的模块

npm install --save @nestjs/typeorm typeorm mysql

总共三个内容,它们为nest连接数据库以及创造对应的实体类提供了操作与处理

开始实现

1.编写user.entity.ts
nestjs[连接mysql数据库][2]_第3张图片
实体类要与字段数据库表一一对应,至于装饰器相关的可以去typeOrm去看相关文档或者百度

2.编写user.service.ts
nestjs[连接mysql数据库][2]_第4张图片
这里的操作中没有任何的sql查询,直接用了find()方法查询出了所有数据,如何使用sql可以自己百度
相关装饰器需要了解这里有 @InjectRepository(User)、Repository
而Promise是find()方法返回的一个promise,参考官网。

3.编写user.controller.ts
nestjs[连接mysql数据库][2]_第5张图片这里和平常没什么太大区别

4.编写user.module.ts
nestjs[连接mysql数据库][2]_第6张图片
5.编写app.module.ts
nestjs[连接mysql数据库][2]_第7张图片
这里主要做了数据库配置TypeOrmModule.forRoot,以及子模块的加载。

测试

nestjs[连接mysql数据库][2]_第8张图片

总结:
可能有许多陌生的东西:
如:
@Column、@Entity()、Repository、userRepository.find()
Promise
这些需要自己去查询typeorm相关的api内容。实际操作中只需要知道有哪些东西,该怎么用就行了。
当前的内容没有将mysql相关的配置独立,这个可以后续了解

你可能感兴趣的:(nestJS)