node之操作数据库
目录
- mongoDB数据库的操作
- 开启一个服务器和静态服务器 server.js
- 对所有的路径的设置 index.js
- user.js => 方式1 链接数据库,并且操作数据库
- user.js => 方式2 链接数据库,并且操作数据库
- user.js => 方式2 链接数据库,并且操作数据库 的封装!
- mongoDB数据库的操作最优版本
- 开启一个服务器和静态服务器 server.js
- 对所有的路径的设置 index.js
- user.js
- mysql.js => 一个工具js文件 utils/mysql.js
mongoDB数据库的操作
- nodeJS + mysql 技术支持!
- 下载:
1:mysql
2:
开启一个服务器和静态服务器 server.js
server.js服务器文件
const express = require("express");
const router = require("router");
//导入端口号
const {PORT
} = require('./port/config.json');
//导入所有路由
const allRouter = require("./router")//创建一个服务器
const app = express();//创建一个静态服务器 => 把静态资源的东西开放
app.use(express.static(("./public"), {maxAge: 60 * 60 * 1000 * 24 //设置浏览器的缓存效果!
}));app.use("/api", allRouter);
//服务器的监听
app.listen(PORT, () => {console.log("server is running " + PORT);
})
对所有的路径的设置 index.js
路由文件夹下的路由模块 router/index.js
标签引入相关的路由.js文件!
const {express,Router,json,urlencoded
} = require("express");
const router = Router();
//格式化url
router.use(json(), urlencoded())const user = require("./user");
const goods = require("./goods");//关于user的接口
router.use("/user", user);//关于goods的接口
router.use("/goods", goods);module.exports = router;
user.js => 方式1 链接数据库,并且操作数据库
路由文件夹下的路由模块 router/user.js
注意点:这需要在服务器环境下运行的,还有php开启的服务器环境!
const express = require("express");
const router = express.Router();
const mysql = require("mysql");//00第一步:配置数据库
var connection = mysql.createConnection({host: "localhost",user: "root",password: "xpl183",database: "my_sql01"
})//00第二步:在请求的方法里面 链接数据库并且查询数据库
//获取到所有用户名
// => 浏览器访问 http://localhost:9292/api/user
router.get("/", (req, res) => {//1:链接数据库connection.connect();//2:查询数据库的所有用户var sql = `select * from userlist2`;//3:数据库的查询 connection.query(sql, (err, result, fields) => {if (err) throw err;console.log(result); //在cmd之中打印出查询的结果,代表可以!res.send(result);//关闭服务器connection.end()});
})module.exports = router;
user.js => 方式2 链接数据库,并且操作数据库
大力推荐这种方式去链接数据库,并且查询数据库!
const express = require("express");
const {request
} = require("express");
const router = express.Router();
const mysql = require("mysql");//01第一步:创建一个连接池 => 连接池一般有着10个连接对象
var pool = mysql.createPool({host: "localhost",user: "root",password: "xpl183",database: "my_sql01",multipleStatements: true
})//连接池 这边只是设置一个sql语句即可 当做参数传递进去,在mysql一个回调函数
router.get("/", (req, res) => {var sql = "select * from userlist2";query(sql, function (data) {console.log(data);res.send(data)})
})
module.exports = router;
user.js => 方式2 链接数据库,并且操作数据库 的封装!
回调函数的方式
const express = require("express");
const {request
} = require("express");
const router = express.Router();
// const mysql = require("mysql");
const query = require("../utils/mysql")// 封装一个mysql公共文件
//方式5:
router.get("/", async (req, res) => {var sql = "select * from userlist2";const result = await query(sql);res.send(result);
})// 方式4:
router.get("/", (req, res) => {var sql = "select * from userlist2";query(sql).then(data => {res.send(data)})
})
module.exports = router;//方式3:
router.get("/", (req, res) => {var sql = "select * from userlist2";query(sql, function (data) {console.log(data);res.send(data)})
})module.exports = router;
- mysql.js => 一个工具js文件 utils/mysql.js
const mysql = require("mysql");// 封装一个mysql公共文件
//连接池 这边只是设置一个sql语句即可 当做参数传递进去,在mysql一个回调函数
// query()函数 参数1:sql语句 参数2:为回调函数 => 返回查询结果// 方式1 使用连接池的方式
//01第一步:创建一个连接池 => 连接池一般有着10个连接对象
var pool = mysql.createPool({host: "localhost",user: "root",password: "xpl183",database: "my_sql01",multipleStatements: true
})//封装为promise的方式
function query(sql) {//2:操作数据库return new Promise((resolve, reject) => {pool.query(sql, (err, result, fields) => {if (err) throw err;resolve(result); //成功的回调})})
}
module.exports = query;//封装为回调函数的方式
function query(sql, callback) {//2:操作数据库pool.query(sql, (err, result, fields) => {if (err) throw err;callback(result)})
}
module.exports = query;
mongoDB数据库的操作最优版本
开启一个服务器和静态服务器 server.js
server.js服务器文件
const express = require("express");
const router = require("router");
//导入端口号
const {PORT
} = require('./port/config.json');
//导入所有路由
const allRouter = require("./router")//创建一个服务器
const app = express();//创建一个静态服务器 => 把静态资源的东西开放
app.use(express.static(("./public"), {maxAge: 60 * 60 * 1000 * 24 //设置浏览器的缓存效果!
}));app.use("/api", allRouter);
//服务器的监听
app.listen(PORT, () => {console.log("server is running " + PORT);
})
对所有的路径的设置 index.js
路由文件夹下的路由模块 router/index.js
标签引入相关的路由.js文件!
const {express,Router,json,urlencoded
} = require("express");
const router = Router();
//格式化url
router.use(json(), urlencoded())const user = require("./user");
const goods = require("./goods");//关于user的接口
router.use("/user", user);//关于goods的接口
router.use("/goods", goods);module.exports = router;
user.js
const express = require("express");
const {request
} = require("express");
const router = express.Router();
const query = require("../utils/mysql")// 获取到所有用户名
router.get("/", async (req, res) => {var sql = "select * from userlist2";const result = await query(sql);res.send(result);
})//根据id删除数据
router.delete("/:id", async (req, res) => {let {id} = req.params;// console.log(id);//cmd打印出来var sql = `delete from userlist2 where id=${id}`;const result = await query(sql);res.send("删除成功");
})module.exports = router;
mysql.js => 一个工具js文件 utils/mysql.js
const mysql = require("mysql");// 方式1 使用连接池的方式
//01第一步:创建一个连接池 => 连接池一般有着10个连接对象
var pool = mysql.createPool({host: "localhost",user: "root",password: "xpl183",database: "my_sql01",multipleStatements: true
})function query(sql) {//2:操作数据库return new Promise((resolve, reject) => {pool.query(sql, (err, result, fields) => {if (err) throw err;resolve(result); //成功的回调})})
}
module.exports = query;
node之操作数据库相关推荐
- node用express写后端restful接口实战三:sequelize操作数据库:模型(Model)、迁移(Migration)与种子(Seeders)
一.创建模型与迁移 https://github.com/sequelize/cli 有了数据库,里面还要有 数据表.这次的项目非常简单,现在要建的表也只有一张,名字叫做 articles.使用代码操 ...
- Node.js系列-----数据库MySQL
一.数据库MySQL 1.1. 为什么要使用数据库 任何的软件系统都需要存放大量的数据,这些数据通常是非常复杂和庞大的: 比如用户信息包括姓名.年龄.性别.地址.身份证号.出生日期等等: 比如商品信息 ...
- node 存储过程_用Node.js操作跨平台数据库Firebird
FireBird Firebird是一个跨平台的关系数据库系统,目前能够运行在Windows.linux和各种Unix操作系统上,提供了大部分SQL-99标准的功能.它既能作为多用户环境下的数据库服务 ...
- Node连接MySQL数据库进行基本的增删改查操作(一看就会)
Node连接MySQL数据库进行基本的增删改查操作(一看就会) ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ...
- node.js 从基础到操作数据库
node.js 学习 模块化 CommonJS----------双端(1.浏览器端;2.服务器端)------暴露:module.exports =??? exports.xxxx = ??? 浏览 ...
- Node.js SQL数据库操作 (上)(操作MySQL数据库及 数据库连接池)
文章目录 Node.js MySQL驱动 操作 MySQL 数据库 连接 MySQL 数据库 增删改查操作 防止 SQL 注入攻击 数据库连接池操作 Node.js MySQL驱动 Node.js的原 ...
- 批处理 操作mysql_超简单使用批处理(batch)操作数据库
超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...
- QT学习:Qt操作数据库
本节由不同Qt类支撑的三部分组成,QtSql模块层次结构如下图所示: 一.Qt操作SQLite数据库 Qt提供了一种进程内数据库SQLite.它小巧灵活,无须额外安装配置且支持大部分ANSI SQL9 ...
- node中操作MySQL
node操作MySQL数据库: 在node中操作MySQL数据库的基本流程如下: // node操作MySQL需要在npm官网下载mysql包并载入node执行代码:// 1.载入MySQL数据库包v ...
最新文章
- eclipse 快捷键文件地址
- MyEclipse配置DataBase Explorer
- OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充
- 【渝粤题库】陕西师范大学152108 电子政务理论与实践 作业(高起专)
- Python中的一些特殊函数
- asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程
- SpringBoot之日志记录 SLF4J(H)
- 卖白菜|贱卖白菜|卖大白菜|贱卖大白菜|买白菜
- iOS 让CoreData更简单些
- cad计算机画图标准,CAD画图某些常用尺寸及作图习惯
- 解读《美国国家BIM标准》– BIM能力成熟度模型(六)
- 实对称矩阵可对角化的证明
- 看到“东大研究生”吐槽华为cpu,海思,请知道的人科普一下吧,我抛砖引玉
- Hyper-V虚拟化——在Hyper-V上创建虚拟服务器
- 这几年被分布式坑惨了,曝光十大坑
- 华为交换机 STP MSTP BPDU保护 边缘端口 BPDU过滤 根保护 环路保护 TC保护
- POSCMS 支付设置
- 软考 | 2019年上半年 软件设计师 下午试卷
- Kafka 2.8.0 正式发布,增加了哪些新特性?
- python 疯狂讲义 笔记(变量和基本类型)
热门文章
- 网络通信——下载管理器DownloadManager——主动轮询当前的下载进度
- 荣耀是不是没有鸿蒙了,不只是华为手机!荣耀或将接入鸿蒙,选定这款机型大有讲究...
- 数字电子仿真实验资料大全
- Java springmvc web项目,基于maven的hello world入门级项目使用IntelliJ IDEA 2017版本
- MySQL 添加索引,删除索引及其用法
- “金融”与“科技”的融合加速进入下半场 金融壹账通“赋能”金融新生态
- 腾讯摘掉“游戏公司”的帽子并非没可能
- 小马哥----高仿苹果6p 主板型号LT6071刷机拆机主板图与开机界面图 6571芯片 注意鉴别版本
- python中常见的数学问题
- 手机总是发烫怎么办?教你这5招,让你的手机再也不变暖手宝