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億。 我已開過光,話已經放到這了。

相關文章
相關標籤/搜索