nodeJs下操作数据库需要安装npm模块: mysql
npm install mysql --save-dev
新建express项目
express --view=ejs
在项目根目录下新建数据库配置文件
const config = { host : '127.0.0.1', user : 'root', password : '123', port : 3306, database : 'blog' } module.exports = config
在app.js中引入mysql模块以及配置文件
var mysql = require('mysql') var dbConfig = require('./db/config')
为防止对数据库的频繁连接,比较好的方式是创建一个数据库连接池,mysql模块支持创建连接池
将创建好的连接池保存在一个全局变量中
global.pool = mysql.createPool(dbConfig)
在目录下utils下创建db.js,封装操作数据库的各种方法
const query = function(sql, callback){ global.pool.getConnection(function(err,conn){ if(err){ callback(err,null,null); }else{ conn.query(sql,function(qerr,vals,fields){ //释放连接 conn.release(); //事件驱动回调 callback(qerr,vals,fields); }); } }) } module.exports = { query : query }
接下来在其他文件中就可以直接调取这个方法进行增删改查操作
例如:
router.get('/', function(req, res, next) { var sql = `select * from article` db.query(sql,function(qerr,vals,fields){ vals.forEach(item => { console.log(item.content) }) }) });