node 集成sequelize ORM 框架学习

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");
})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南一舟110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值