目录

  • 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之操作数据库相关推荐

  1. node用express写后端restful接口实战三:sequelize操作数据库:模型(Model)、迁移(Migration)与种子(Seeders)

    一.创建模型与迁移 https://github.com/sequelize/cli 有了数据库,里面还要有 数据表.这次的项目非常简单,现在要建的表也只有一张,名字叫做 articles.使用代码操 ...

  2. Node.js系列-----数据库MySQL

    一.数据库MySQL 1.1. 为什么要使用数据库 任何的软件系统都需要存放大量的数据,这些数据通常是非常复杂和庞大的: 比如用户信息包括姓名.年龄.性别.地址.身份证号.出生日期等等: 比如商品信息 ...

  3. node 存储过程_用Node.js操作跨平台数据库Firebird

    FireBird Firebird是一个跨平台的关系数据库系统,目前能够运行在Windows.linux和各种Unix操作系统上,提供了大部分SQL-99标准的功能.它既能作为多用户环境下的数据库服务 ...

  4. Node连接MySQL数据库进行基本的增删改查操作(一看就会)

    Node连接MySQL数据库进行基本的增删改查操作(一看就会) ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ...

  5. node.js 从基础到操作数据库

    node.js 学习 模块化 CommonJS----------双端(1.浏览器端;2.服务器端)------暴露:module.exports =??? exports.xxxx = ??? 浏览 ...

  6. Node.js SQL数据库操作 (上)(操作MySQL数据库及 数据库连接池)

    文章目录 Node.js MySQL驱动 操作 MySQL 数据库 连接 MySQL 数据库 增删改查操作 防止 SQL 注入攻击 数据库连接池操作 Node.js MySQL驱动 Node.js的原 ...

  7. 批处理 操作mysql_超简单使用批处理(batch)操作数据库

    超简单使用批处理(batch)操作数据库 批处理(batch)是什么 批处理的执行就好比快递员的工作: 未使用批处理的时候,快递员一次从分发点将一件快递发给客户: 使用批处理,则是快递员将所有要派送的 ...

  8. QT学习:Qt操作数据库

    本节由不同Qt类支撑的三部分组成,QtSql模块层次结构如下图所示: 一.Qt操作SQLite数据库 Qt提供了一种进程内数据库SQLite.它小巧灵活,无须额外安装配置且支持大部分ANSI SQL9 ...

  9. node中操作MySQL

    node操作MySQL数据库: 在node中操作MySQL数据库的基本流程如下: // node操作MySQL需要在npm官网下载mysql包并载入node执行代码:// 1.载入MySQL数据库包v ...

最新文章

  1. eclipse 快捷键文件地址
  2. MyEclipse配置DataBase Explorer
  3. OpenCV图像剪切的扩展和高级用法:任意裁剪,边界扩充
  4. 【渝粤题库】陕西师范大学152108 电子政务理论与实践 作业(高起专)
  5. Python中的一些特殊函数
  6. asp.net应用程序无法连接oracle数据库,2020:ASP连接Oracle数据库问题的解决过程
  7. SpringBoot之日志记录 SLF4J(H)
  8. 卖白菜|贱卖白菜|卖大白菜|贱卖大白菜|买白菜
  9. iOS 让CoreData更简单些
  10. cad计算机画图标准,CAD画图某些常用尺寸及作图习惯
  11. 解读《美国国家BIM标准》– BIM能力成熟度模型(六)
  12. 实对称矩阵可对角化的证明
  13. 看到“东大研究生”吐槽华为cpu,海思,请知道的人科普一下吧,我抛砖引玉
  14. Hyper-V虚拟化——在Hyper-V上创建虚拟服务器
  15. 这几年被分布式坑惨了,曝光十大坑
  16. 华为交换机 STP MSTP BPDU保护 边缘端口 BPDU过滤 根保护 环路保护 TC保护
  17. POSCMS 支付设置
  18. 软考 | 2019年上半年 软件设计师 下午试卷
  19. Kafka 2.8.0 正式发布,增加了哪些新特性?
  20. python 疯狂讲义 笔记(变量和基本类型)

热门文章

  1. 网络通信——下载管理器DownloadManager——主动轮询当前的下载进度
  2. 荣耀是不是没有鸿蒙了,不只是华为手机!荣耀或将接入鸿蒙,选定这款机型大有讲究...
  3. 数字电子仿真实验资料大全
  4. Java springmvc web项目,基于maven的hello world入门级项目使用IntelliJ IDEA 2017版本
  5. MySQL 添加索引,删除索引及其用法
  6. “金融”与“科技”的融合加速进入下半场 金融壹账通“赋能”金融新生态
  7. 腾讯摘掉“游戏公司”的帽子并非没可能
  8. 小马哥----高仿苹果6p 主板型号LT6071刷机拆机主板图与开机界面图 6571芯片 注意鉴别版本
  9. python中常见的数学问题
  10. 手机总是发烫怎么办?教你这5招,让你的手机再也不变暖手宝