NodeJs针对Express框架配置Mysql进行数据库操作

Express版本:4.14.1

说明:如下配置以express为例进行配置并进行测试,当然mysql中间件也可以在nodejs中单独使用。

参考:NodeJs的Mysql中间件Github地址

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,在终端查看结果如下:

posted on 2017-11-16 17:45  上品物语  阅读(11779)  评论(1编辑  收藏  举报