在學習一里面搭建了一個簡單的項目,這一節加進數據庫Mysqlmysql
確保已經安裝好Mysql和Navicatsql
一、啓動數據庫:net start mysql
(中止用 net stop mysql
)
注意:要用管理員權限運行數據庫
二、打開navicat新建一個鏈接express
鏈接名隨便取,我這裏設置了免密。能夠不輸密碼,輸好後單擊肯定,單擊test打開鏈接npm
如今就能夠在test裏面新建數據庫json
如圖:我建了一個額數據庫叫lyhexpress,裏面有張表user,id要設爲自增加segmentfault
一、打開項目安裝sequelize:npm install sequelize --save
,需同時安裝mysql2: npm install mysql2 --save
post
二、根目錄下新建文件夾model, model下新建db.js,用於鏈接數據庫:db.js:學習
Sequelize = require('sequelize'); var sequelize = new Sequelize ('lyhexpress', 'root', '', {host : 'localhost', port : '3306', dialect : 'mysql',timezone: '+08:00', operatorsAliases: false }); module.exports=sequelize;
三、 model 下新建表模型user.jsui
var db = require('./db'); var user = db.define( 'user', { id:{ filed:'id', primaryKey:true, type:Sequelize.BIGINT, allowNull: true //此屬性是自增加的,需設置成true }, name: { field: 'name', type: Sequelize.STRING, allowNull: false }, age: { field: 'age', type: Sequelize.INTEGER, allowNull: false } }, { tableName: 'user', timestamps: false, freezeTableName: true } ); module.exports = user;
四、修改routes/users.js,寫一個查詢接口:
var express = require('express'); var router = express.Router(); var db = require("../model/db"); var user = require("../model/user"); /** * 查詢列表頁 */ router.get("/",function(req,res,next){ user.findAll().then(function(userList){ res.json({"userlist":userList}); }).catch(function(error){ res.json({"error":error}); }); }); module.exports = router;
訪問結果:
如今一條數據都沒有,再寫一個插入數據的接口,繼續修改routes/users.js
/** * 插入數據 */ router.post("/add",function(req,res,next){ var name = req.body.name; var age = req.body.age; db.transaction( t => { return user.create({ //建立一條數據 name: name, age: age }).then(result => { res.json({ status:true, msg:'註冊成功' }) }).catch(err => { console.log(`註冊失敗${err}`); return; }) }) });
如今就能夠經過'http://127.0.0.1:8088/users/add'添加數據
上一篇:項目搭建連接描述