0. 版本要求
nestJs连接mysql数据库是有一定的版本要求的。(因为使用的是mysql2模块,来连接的mysql,所以会出现因数据库版本太低而连接失败的情况)
mysql数据库版本:>= v5.6.0
;条件允许的情况下,尽量选择最新稳定版本的数据库版本。
1. 安装依赖包
通过npm上的比较成熟的依赖包进行数据库的连接,可以节省我们的代码量。更能较少我们的开发时间。也能使我们的代码更加简洁。
这里我们需要用的几个依赖包:mysql2 @nestjs/typeorm
cnpm i mysql2 @nestjs/typeorm -S
mysql2模块我们可以用来连接mysql。
typeorm是一个ORM框架。它的目标是始终支持最新的 JavaScript 特性并提供额外的特性以帮助你开发任何使用数据库的(不管是只有几张表的小型应用还是拥有多数据库的大型企业应用)应用程序。文档地址:https://typeorm.bootcss.com/
2. 连接
nestJs文档上有有关连接数据库的方式。连接:https://docs.nestjs.cn/8/techniques
在文档上有不止一种的连接方式。这里我使用了其中一种。当然对于数据库的信息我们可以定义到一个配置文档中,然后通过配置引入变量来实现统一的配置信息。但是在这里为了方便阅读,直接就以字符串的方式进行展示了。
app.module.ts
import {
Module } from '@nestjs/common';
import {
APP_FILTER } from '@nestjs/core';
import {
TypeOrmModule } from '@nestjs/typeorm';
import {
NodeInfoModule } from './modules/nodeInfo/nodeInfo.module';
@Module({
imports: [
// 这里可以用来引入自己的模块
NodeInfoModule,
// 数据库的连接信息
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'root',
database: 'lljk',
entities: [__dirname + '/./**/*.entity.{js,ts}'],
synchronize: true,
timezone:</