P12:中台搭建4-Egg.js中连接mysql数据库

目录
文章目录隐藏
  1. egg-mysql 模块安装
  2. 进行插件配置
  3. 数据库连接配置
  4. 创建数据库
  5. 使用 get 进行表的查询

本文主要是讲解一下 Egg.js 中使用 mysql 数据库,那需要你的 mysql 数据有基础的了解,比如说一些常用的 sql 语句和安装。但是如果你说我真不会,也是可以跟着我的笔记作下来的,但只是能做出效果,对于里边的为什么可能不太了解。还是需要你自己补齐一下 mysql 的基础知识啊。我还建议,如果你对 mysql 不熟悉,还是暂停学习一下,找一套相关的 mysql 最新教程学习一下,这样你接下来的学习才会更简单。

egg-mysql 模块安装

如果要在 egg.js 中使用 mysql 数据库,那需要先进行安装egg-mysql模块,这个模块你可以使用 npm 或者 yarn 来进行安装。

npm 安装命令如下:

npm install egg-mysql --save

yarn 安装命令如下:

yarn add egg-mysql

安装完成可以到package.json中看一下,是否有这个文件。我安装的版本是 3.0.0 版本。你学的时候,这个版本可能所有变化。

进行插件配置

在安装完成以后,还不能正常使用,egg.js 要求我们对于外部模块在plugin.js中进行配置。配置方法如下:

文件/server/config/plugin.js

exports.mysql = {
  enable: true,
  package: 'egg-mysql',
};

这个配置完,也就说明 egg.js 可以支持 mysql 数据库的使用和连接了。

plugin.js 全部代码如下:

'use strict';

exports.mysql = {
  enable: true,
  package: 'egg-mysql',
};

以后还会多次配置这个文件,所以我们这里要对这个config.js有所印象,它的作用就是配置 egg.js 项目的。

数据库连接配置

这个配置时,你要先确认你已经有一台安装 mysql 的服务器或者是主机,当然你也可以在自己的开发机上进行安装,因为我使用的php Study这个集成开发环境(作 php 用的)。所以我的机器上是安装的。

打开/config/config.default.js 文件,作下面的配置(这段配置你可以在npmjs 网址中搜索 egg-mysql 找到这个配置)

exports.mysql = {
  // database configuration
  client: {
    // host
    host: 'mysql.com',
    // port
    port: '3306',
    // username
    user: 'test_user',
    // password
    password: 'test_password',
    // database
    database: 'test',    
  },
  // load into app, default is open
  app: true,
  // load into agent, default is close
  agent: false,
};

这时候你需要根据你的环境,修改对应的参数,主要的就是hostuserpassworddatabase(每个数据库配置不同,所以这个每个人都不同)。 我的是这样的,但是你不一定完全跟我一样。

config.mysql = {
    // database configuration
    client: {
      // host
      host: 'localhost',
      // port
      port: '3306',
      // username
      user: 'root',
      // password
      password: '12345678',
      // database
      database: 'react_blog',    
    },
    // load into app, default is open
    app: true,
    // load into agent, default is close
    agent: false,
};

这个配置完成后,就可以连接到数据库了。

创建数据库

现在我们还没有数据库,所以需要先建立数据库,直接使用PhP Study里的SQL_Front来管理数据,如果你没有安装需要安装一下,安装完成后点后面的管理按钮,就可以管理了,具体步骤如下:

这里我默认你是安装了PhP Study,打开软件并启动 MySQL

PhP Study

点击数据库工具里SQL_Front来管理数据(没有安装的可以到软件管理中下载安装,很方便的)

SQL_Front 来管理数据

打开后选择新建

SQL_Front 数据库面板

输入相关信息

输入相关信息

登录数据库

登录数据库

新建数据库,名称为react_blog,输入数据库名称,点击确定,我们的数据库就创建好了。

新建数据库

新建数据库

选择我们刚刚创建好的数据库,新创建一个表blog_content

创建表

创建表

为表添加字段,字段就是titletypeintroduce(类型 Text)和content(类型 Text)

为表添加字段

为表添加字段

这样数据库的准备就写好了,如下图:

完成数据库创建

然后我们随便放一条数据,并点击 “发布” 按钮即可。

一条数据

接下来需要验证一下,数据库是否已经连接上了。

使用 get 进行表的查询

打开之前写的/app/controller/defalut/home.js文件,改写index方法。

'use strict';

const Controller = require('egg').Controller;

class HomeController extends Controller {
  async index() {
    // 获取用户表的数据
    const result = await this.app.mysql.get('blog_content', {});
    console.log(result);
    this.ctx.body = result;
  }
}

module.exports = HomeController;

改写后,在浏览器中输入http://127.0.0.1:7001/default/index。如果能在控制台打印出结果和页面中显示结果,说明数据库已经连接成功了。

注意:

在测试数据库连接时运行 npm run dev 命令时可能会报如下错误

数据库连接时报错

大家可以参考这篇文章解决1045 Access denied for user ‘root’@’localhost’ (using password: YES)的解决方法

本文主要讲解了 egg.js 中 mysql 数据的连接方式,下节我们简单的介绍一下数据库的增删改查操作。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » P12:中台搭建4-Egg.js中连接mysql数据库

发表回复