在學習一里面搭建了一個簡單的項目,這一節加進數據庫Mysql
1、navicat新建連接
確保已經安裝好Mysql和Navicat
1、啓動數據庫:net start mysql
(停止用 net stop mysql
)
注意:要用管理員權限運行
2、打開navicat新建一個連接
連接名隨便取,我這裏設置了免密。可以不輸密碼,輸好後單擊確定,單擊test打開連接
現在就可以在test裏面新建數據庫
如圖:我建了一個額數據庫叫lyhexpress,裏面有張表user,id要設爲自增長
2、sequelize 處理數據庫
1、打開項目安裝sequelize:npm install sequelize --save
,需同時安裝mysql2: npm install mysql2 --save
2、根目錄下新建文件夾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;
3、 model 下新建表模型user.js
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;
4、修改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'添加數據