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

本文介绍了如何使用Egg.js框架连接和操作MySQL数据库,包括安装教程、创建数据库和表、数据插入,以及Egg.js中配置和使用egg-mysql插件进行数据库交互的方法。同时,文章提供了项目的整体计划和代码仓库链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为个人学习整理所得,希望对读者有所帮助。

MySQL基本信息

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

安装教程

如果还没安装的小伙伴可以看看下面的文章,这里就不过多叙述了。

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

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

创建数据库和表

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

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的查询窗口操作

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);

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

Egg.js连接数据库

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

安装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:全部的代码仓库:https://github.com/hejian1993/node_egg,暂时没有分章节,仅供参考。

我是河粉,我们下一节见

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值