1.集成express 和orm 框架sequelize 实现学习
所有语言套路基本一样:一般,添加依赖 建库建表
1.express集成首先创建node 项目可以参考官网
添加链接描述
初始化node项目
npm init
加入express依赖
npm install express --save
集成简单代码测试:
const express = require('express')
const app = express()
const port = 8080
const db =require('./db.js');
app.use('/test',db);
const user=require('./user.js');
const models=require('./models')
app.use('/user',user);
app.get('/b', (req, res) => res.json({
name:'gsc',
age:20
}));
app.get('/db',async(req,res)=>{
let{firstName,lastName,email}=req.query;
let user= await models.User.create({
firstName,
lastName,
email
})
console.log(user);
res.json(user);
})
app.all('*',(req,res)=>res.json({path:req.path}))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
2,集成ORM数据框架(这里选择 sequelize)
1.集成MySQL 驱动这里跟所有语言集成一样的套路
npm install --save mysql2
2.npm install --save sequelize
3.集成sequelize cli工具(可以参考这里:)
npm install --save-dev sequelize-cli
npx sequelize-cli init
4.修改config 配置根据环境去修改这里常识问题明白人一眼看懂
5.利用cli创建表(4步骤在数据库自己创建一个库(test))
这里创建一个user表(username,pwd,sex)
npx sequelize-cli model:generate --name user --attributes username:string,pwd:string,sex:integer
npx sequelize-cli db:migrate
以上出现错误Unable to resolve sequelize package in /Users/mac/Documents/HBuilderProjects/userDemo
可以重新安装一下sequelize
以上执行完成就创建了一个user表在你创建的数据库下面
6. 5完成以后会多出一个文件夹这里关注models文件创建数据库类型跟这个model里面的user.js文件一致
入口文件index.js引入模块。(不懂模块化的可以了解AMD 规范和ES6规范)
完整例子如下:
const express = require('express');
const app = express();
const model = require('./models');
app.get('/test', (req, res) => {
res.json({
name: 'Jiangnanyizhou',
sex: '男',
location: '浙江杭州',
job: 'fullStack'
})
});
app.get('/userlist', async (req, res) => {
const user = await model.user.findAll();
res.json(user);
});
app.get('/addUser', async (req, res) => {
let {
username,
pwd,
sex,
} = req.query;
console.log("请求的参数---" + JSON.stringify(req.query));
const user = await model.user.create({
username,
pwd,
sex: parseInt(sex)
})
res.json(user);
});
app.get('/deleteById/:id',async(req,res)=>{
const {id}=req.params;
const u= await model.user.destroy({
where: {
id
}
});
res.json(u);
})
app.listen('8888', () => {
console.log("server lanuch");
})