Node - Egg.js 框架从入门到放弃系列(6)- 数据库 MySQL

本文为我的学习整理所得,但愿对读者有所帮助。javascript

MySQL基本信息

在后面的开发中,咱们会使用MySQL做为数据库来开发,使用Navicat来管理数据库。html

安装教程

若是还没安装的小伙伴能够看看下面的文章,这里就不过多叙述了。前端

超详细MySQL安装及基本使用教程java

mysql数据库管理工具navicat基本使用方法node

建立数据库和表

进入mysql安装目录的bin目录,我这里是C:\Program Files\MySQL\MySQL Server 8.0\bin,打开CMD命令行逐条输入:mysql

create database egg_mock charset=utf8; 
复制代码
use jing_dong;
复制代码
create table goods( id int unsigned primary key auto_increment not null,
    name varchar(150) not null, 
    cate_name varchar(40) not null,
    brand_name varchar(40) not null, 
    price decimal(10.3) not null default 0,
    is_show bit not null default 1, 
    is_saleoff bit not null default 0 
);
复制代码

在表中插入数据

这里能够继续使用CMD或者使用Navicat的查询窗口操做git

insert into goods values(0,'r510vc 15.6英寸笔记本','笔记本','华硕','3399',default,default);
insert into goods values(0,'x550cc 15.6英寸笔记本','笔记本','华硕','2799',default,default);
insert into goods values(0,'x240 超极本','超极本','联想','4880',default,default);
insert into goods values(0,'u330p 13.3英寸超级本','超极本','联想','4299',default,default);
insert into goods values(0,'svp13226scb 触控超级本','超级本','索尼','7999',default,default);
insert into goods values(0,'ipad mini 7.9英寸平板电脑','平板电脑','苹果','1999',default,default);
insert into goods values(0,'iPad air 9.7英寸平板电脑','平板电脑','苹果','3388',default,default);
insert into goods values(0,'iPad mini 配置 retine 显示屏','平板电脑','苹果','2788',default,default);
insert into goods values(0,'ideacentre c3340 20英寸一体电脑','台式机','联想','3499',default,default);
insert into goods values(0,'vostro 3800-r1206 台式电脑','台式机','戴尔','2899',default,default);
insert into goods values(0,'15.6 寸电脑屏保护膜','电脑配件','爱戴尔','29',default,default);
insert into goods values(0,'优雅 复古 无线鼠标键盘','电脑配件','雷蛇','299',default,default);
insert into goods values(0,'15寸 4K 液晶显示屏','电脑配件','索尼','1899',default,default);
insert into goods values(0,'限量款 LOL 鼠标垫','电脑配件','惟爱','29',default,default);
复制代码

成功插入数据后,数据如图github

Egg.js链接数据库

Egg.js中,框架提供了 egg-mysql 插件来访问 MySQL 数据库。这个插件既能够访问普通的 MySQL 数据库,也能够访问基于 MySQL 协议的在线数据库服务。sql

安装egg-mysql插件

$ npm i --save egg-mysql
复制代码

配置插件

config/plugin.js中新增下列代码:数据库

exports.mysql = {
  enable: true,
  package: 'egg-mysql',
};
复制代码

单数据源

若是咱们的应用只须要访问一个 MySQL 数据库实例,能够以下配置:

config/config.default.js中新增config的属性

config.mysql = {
  // 单数据库信息配置,端口号、密码、用户名等本身修改
  client: {
    // host
      host: 'localhost',
      // 端口号
      port: '3306',
      // 用户名
      user: 'root',
      // 密码
      password: 'root',
      // 数据库名
      database: 'egg_mock',
  },
  // 是否加载到 app 上,默认开启
  app: true,
  // 是否加载到 agent 上,默认关闭
  agent: false,
};
复制代码

多数据源以及其余详细方法

上述没有说到的点,大伙能够看官网文档

使用方法

当咱们的插件配置好以后,就在app.mysql里面引用这个变量。如:

class HomeController extends Controller {
  async index() {
    const { ctx, app } = this;
    const res = await app.mysql.select('goods');
    ctx.body = res;
  }
}
复制代码

浏览器输入http://localhost:7001/,看到下图结果就表明成功链接和查询了。

一块儿作项目

项目计划是:基础 ——> 后端业务 ——> 前端页面,如今在后端模块

PS:所有的代码仓库:github.com/hejian1993/…,暂时没有分章节,仅供参考。

我是河粉,咱们下一节见

三个月前,一我的关注了我,他娶了一个如花似玉的老婆。 一周前,一我的关注了我,他中了888亿。 今年,关注了个人人都娶了如花似玉的老婆结婚那天还中888亿。 我已开过光,话已经放到这了。

相关文章
相关标签/搜索