当前位置:网站首页 > Node.js开发 > 正文

Node学习(八)02-Node中的模块化——用module.exports实现模块化-封装并导出db.js模块之mysql增删改查& 步骤之连服务器、键值照应、封装导出模块、导入模块并打印服务器数据

Node学习(八)02-Node中的模块化——用module.exports实现模块化-封装并导出db.js模块之mysql增删改查& 步骤之连服务器、键值照应、封装导出模块、导入模块并打印服务器数据

10.4 封装 db.js 模块

核心思想: mysql操作流程是固定的,尤其是前三步。将前三部封装到一个模块,导出链接对象。 链接对象就可以调用query方法执行sql语句,也能执行end方法关闭链接

封装一个db.js。

作用就是连接到MySQL服务器,并完成查询工作,最后还要关闭连接。

/ 封装 mysql的增删改查。封装之后要导出 module.exports = (sql, values, cb) => { 
    const mysql = require('mysql'); // 导入mysql模块 const conn = mysql.createConnection({ 
    host: 'localhost', port: 3306, user: 'root', password: '', database: 'yingxiong', multipleStatements: true }); conn.connect(); conn.query(sql, values, cb); conn.end(); } 

上面封装的代码中,导出了一个函数。所以导入它的文件,也会得到一个函数。

test.js 测试:

// 测试使用db.js // 导入模块 const db = require('./db.js'); db('select * from heroes limit 2', null, (err, result) => { 
    if (err) throw err; console.log(result); }); 
实例
第四组-应用版

准备参数1-连接服务器

在这里插入图片描述

准备参数2-键值对照应

在这里插入图片描述

db.js-第一版

/ 封装 mysql的增删改查。封装之后要导出 // 写法一:普通函数 function abcd(sql, values, cb) { 
    const mysql = require('mysql'); // 导入mysql模块 const conn = mysql.createConnection({ 
    host: 'localhost', port: 3306, user: 'root', password: '', database: 'yingxiong', multipleStatements: true }); conn.connect(); conn.query(sql, values, cb); conn.end(); } module.exports = abcd; 

db.js-第二版-应用版

/ 封装 mysql的增删改查。封装之后要导出 // 应用版 写法二:箭头函数 导出模块 module.exports = (sql, values, cb) => { 
    const mysql = require('mysql'); // 导入mysql模块 const conn = mysql.createConnection({ 
    host: 'localhost', port: 3306, user: 'root', password: '', database: 'yingxiong', multipleStatements: true }); conn.connect(); conn.query(sql, values, cb); conn.end(); } 

test.js

// 测试使用db.js // 导入模块 const db = require('./db.js'); db('select * from heroes limit 2', null, (err, result) => { 
    if (err) throw err; console.log(result); }); 

效果4-test引入db

在这里插入图片描述

到此这篇Node学习(八)02-Node中的模块化——用module.exports实现模块化-封装并导出db.js模块之mysql增删改查& 步骤之连服务器、键值照应、封装导出模块、导入模块并打印服务器数据的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Node学习(九)023-管理系统之添加英雄——文件上传-multer第三方模块之multer简介、multer配置、multer使用 & 使用myupload.single() 方法作为接口的中间件2024-12-03 08:45:08
  • Node学习(九)061-管理系统之登录和注册——md5加密 & 前端注册成功跳转登录页 & 前端登录成功跳转首页 & node服务器之post接口写法2024-12-03 08:45:08
  • Node学习(九)063-会话技术简介之cookie的设置和获取——会话控制的分类之cookie-保存客户端(浏览器)、session-保存服务器 & cookie的设置与获取 & cookie有效期2024-12-03 08:45:08
  • Node学习(九)064-会话技术简介之session的设置和获取——设置与获取之express-session模块& session有效期& 删除session& cookie和session的原理2024-12-03 08:45:08
  • Node学习(九)065-会话技术简介之cookie和session的优缺点——cookie-优点是节省服务器空间,缺点不安全 & session-优点是安全,缺点需要服务器空间 & 语法之设置和获取2024-12-03 08:45:08
  • Node学习(八)01-Node中的模块化——一个js文件就是一个模块& js中声明的属性和方法挂载global对象下则是全局作用域&module.exports导出属性和方法&require导入模块2024-12-03 08:45:08
  • Node学习(五)021-处理静态资源——中间件是express最大特色-app.use() & 有三个基本参数req、res、next & 自定义中间件处理静态资源文件-sendFile异步读取文件2024-12-03 08:45:08
  • Node学习(五)01-express框架——使用express搭建web服务器 & 启动命令之node或nodemon+空格+文件相对路径 __dirname指当前文件所在文件夹的绝对路径2024-12-03 08:45:08
  • Node学习(四)-npm概述——使用npm安装第三方模块之全局安装、本地局部安装2024-12-03 08:45:08
  • node-sass安装不上的问题2024-12-03 08:45:08
  • 全屏图片