在学习一里面搭建了一个简单的项目,这一节加进数据库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'添加数据
上一篇:项目搭建链接描述
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。