1.Node.js 操作 Mysql(Demo) 2.在项目中实现Mysql 连接
index.js
const mysql = require('mysql') // 创建连接对象 const con = mysql.createConnection({ host: 'localhost', user: 'root', password: '123456', port: '3306', database: 'myblog' }) // 开始连接 con.connect() // 执行 sql 语句 const sql = 'select * from users;' con.query(sql, (err, result) => { if (err) { console.log(err) return } console.log(result) }) // 关闭连接 con.end()控制台输出
[nodemon] starting `node index.js` [ RowDataPacket { id: 1, username: 'zhangsan', password: '123', realname: '张三' }, RowDataPacket { id: 2, username: 'lisi', password: '123', realname: '李四2' } ] [nodemon] clean exit - waiting for changes before restartconf/db.js
const env = process.env.NODE_ENV //环境变量(package.json中已定义) // 配置 let MYSQL_CONF if (env === 'dev') { MYSQL_CONF = { host: 'localhost', user: 'root', password: '123456', port: '3306', database: 'myblog' } } // 线上环境配置 if (env === 'production') { MYSQL_CONF = { host: 'localhost', user: 'root', password: '123456', port: '3306', database: 'myblog' } } module.exports = { MYSQL_CONF } 通过获取package.json中配置的环境变量区分开发还是生产环境把配置文件导出db/mysql.js
const mysql = require('mysql') const { MYSQL_CONF} = require('../conf/db') // 创建连接对象 const con = mysql.createConnection(MYSQL_CONF) // 开始连接 con.connect() // 统一执行 sql 的函数 function exec(sql) { const promise = new Promise((resolve, reject) => { con.query(sql, (err, result) => { if (err) { reject(err) return } resolve(result) }) }) return promise } module.exports = { exec } 以conf/db.js中MYSQL_CONF作为参数创建连接对象新建统一执行sql函数,通过promise包裹con.query实现。