NodeJs针对Express框架配置Mysql进行数据库操作
Express版本:4.14.1
说明:如下配置以express为例进行配置并进行测试,当然mysql中间件也可以在nodejs中单独使用。
1、首先进行mysql中间件安装
npm install mysql --save
2、创建数据库连接模块db.js,存放于express框架model(自己创建的)文件夹下:
let mysql = require('mysql'); let db = {} //插入操作,注意使用异步返回查询结果 db.insert = function(connection, sql, paras, callback){ connection.query(sql, paras, function (error, results, fields) { if (error) throw error; callback(results.insertId);//返回插入的id }); } //关闭数据库 db.close = function(connection){ //关闭连接 connection.end(function(err){ if(err){ return; }else{ console.log('关闭连接'); } }); } //获取数据库连接 db.connection = function(){ //数据库配置 let connection = mysql.createConnection({ host:'localhost', user:'root', password:'', database:'tpanalysis', port:3306 }); //数据库连接 connection.connect(function(err){ if(err){ console.log(err); return; } }); return connection; } module.exports = db;
3、新建测试表project
4、进行查询测试:
let express = require('express'); let router = express.Router(); let db = require('./db'); //插入测试 router.get('/dbtest',function(req, res){ let project = {project_name: 'test', create_time: '2017-03-28 14:09:29'}; let sqlString = 'INSERT INTO project SET ?'; let connection = db.connection(); db.insert(connection, sqlString, project, function(id){ console.log('inserted id is:' + id); }); db.close(connection); return; });
函数执行注意使用异步调用,此例中如果不使用异步,可能还没获得插入的id,就已经提前执行下面的代码了。
5、用命令npm start启用express,调用http://localhost:3000/dbtest,在终端查看结果如下: