zhaojp0 2019-06-28
在学习一里面搭建了一个简单的项目,这一节加进数据库Mysql
确保已经安装好Mysql和Navicat
1、启动数据库:net start mysql
(停止用 net stop mysql
)
注意:要用管理员权限运行
2、打开navicat新建一个连接
连接名随便取,我这里设置了免密。可以不输密码,输好后单击确定,单击test打开连接
现在就可以在test里面新建数据库
如图:我建了一个额数据库叫lyhexpress,里面有张表user,id要设为自增长
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'添加数据
上一篇:项目搭建链接描述