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

本文主要是讲解一下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数据的连接方式,下节我们简单的介绍一下数据库的增删改查操作。

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » P12:中台搭建4-Egg.js中连接mysql数据库

发表评论

提供最优质的资源集合

立即查看 了解详情