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
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-nodejs/10839.html